From bcaf298ce37095e02caffaf051f632af4e35dfe4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 Aug 2024 11:11:51 +1000 Subject: [PATCH] New Crowdin translations by GitHub Action (#8016) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../InvenTree/locale/ar/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/da/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/de/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/el/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/en/LC_MESSAGES/django.po | 4052 ++++++++-------- .../InvenTree/locale/es/LC_MESSAGES/django.po | 4062 ++++++++-------- .../locale/es_MX/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/et/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/he/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/hi/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/id/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/it/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/ko/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/no/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 4058 ++++++++-------- .../locale/pt_BR/LC_MESSAGES/django.po | 4060 ++++++++-------- .../InvenTree/locale/ro/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/sk/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 4082 +++++++++-------- .../InvenTree/locale/th/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/uk/LC_MESSAGES/django.po | 4058 ++++++++-------- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 4058 ++++++++-------- .../locale/zh_Hans/LC_MESSAGES/django.po | 4058 ++++++++-------- .../locale/zh_Hant/LC_MESSAGES/django.po | 4058 ++++++++-------- src/frontend/src/locales/ar/messages.po | 1679 +++---- src/frontend/src/locales/bg/messages.po | 1679 +++---- src/frontend/src/locales/cs/messages.po | 1681 +++---- src/frontend/src/locales/da/messages.po | 1679 +++---- src/frontend/src/locales/de/messages.po | 1707 +++---- src/frontend/src/locales/el/messages.po | 1679 +++---- src/frontend/src/locales/en/messages.po | 1691 +++---- src/frontend/src/locales/es/messages.po | 1713 +++---- src/frontend/src/locales/es_MX/messages.po | 1689 +++---- src/frontend/src/locales/et/messages.po | 1679 +++---- src/frontend/src/locales/fa/messages.po | 1679 +++---- src/frontend/src/locales/fi/messages.po | 1679 +++---- src/frontend/src/locales/fr/messages.po | 1685 +++---- src/frontend/src/locales/he/messages.po | 1679 +++---- src/frontend/src/locales/hi/messages.po | 1679 +++---- src/frontend/src/locales/hu/messages.po | 1693 +++---- src/frontend/src/locales/id/messages.po | 1689 +++---- src/frontend/src/locales/it/messages.po | 1679 +++---- src/frontend/src/locales/ja/messages.po | 1679 +++---- src/frontend/src/locales/ko/messages.po | 1679 +++---- src/frontend/src/locales/lv/messages.po | 1679 +++---- src/frontend/src/locales/nl/messages.po | 1699 +++---- src/frontend/src/locales/no/messages.po | 1695 +++---- src/frontend/src/locales/pl/messages.po | 1681 +++---- src/frontend/src/locales/pt/messages.po | 1697 +++---- src/frontend/src/locales/pt_BR/messages.po | 2175 +++++---- src/frontend/src/locales/ro/messages.po | 1679 +++---- src/frontend/src/locales/ru/messages.po | 1681 +++---- src/frontend/src/locales/sk/messages.po | 1679 +++---- src/frontend/src/locales/sl/messages.po | 1679 +++---- src/frontend/src/locales/sr/messages.po | 1681 +++---- src/frontend/src/locales/sv/messages.po | 1693 +++---- src/frontend/src/locales/th/messages.po | 1679 +++---- src/frontend/src/locales/tr/messages.po | 2261 ++++----- src/frontend/src/locales/uk/messages.po | 1679 +++---- src/frontend/src/locales/vi/messages.po | 1685 +++---- src/frontend/src/locales/zh_Hans/messages.po | 1697 +++---- src/frontend/src/locales/zh_Hant/messages.po | 1679 +++---- 76 files changed, 114392 insertions(+), 104930 deletions(-) diff --git a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po index 41e7bdce1a..9420a5f8b9 100644 --- a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: ar\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "نقطة نهاية API غير موجودة" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "المستخدم ليس لديه الصلاحية لعرض هذا النموذج" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "الوحدة المقدمة غير صالحة ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "لم يتم تقديم قيمة" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "تعذّر تحويل {original} إلى {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "الكمية المقدمة غير صحيحة" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "الكمية المقدمة غير صحيحة ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "يمكن العثور على تفاصيل الخطأ في لوحة التحكم" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "أدخل التاريخ" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "أدخل التاريخ" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "ملاحظات" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "القيمة '{name}' لا تظهر في تنسيق النمط" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "القيمة المقدمة لا تتطابق مع النمط المطلوب: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "عنوان البريد الإلكتروني الرئيسي المقدم غير صالح." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "لم تتم الموافقة على نطاق البريد الإلكتروني المقدم." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "التسجيل معطل." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "الكمية المقدمة غير صحيحة" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "سلسلة الرقم التسلسلي فارغة" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "تكرار التسلسل" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index c3f135752c..aab8b30bd5 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: bg\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "Не е намерена крайна точка на API" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Потребителя няма нужното разрешение, за да вижда този модел" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Не е зададена стойност" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Преобразуването на {original} в {unit} не беше успешно" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Зададено е недопустимо количество" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Зададено е недопустимо количество ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Подробности за грешката могат да се намерят в администраторския панел" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Въведи дата" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Въведи дата" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Бележки" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Значението '{name}' не отговаря на шаблона" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Въведеното значение не отговаря на задължителния шаблон: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Въведената основна електронна поща е невалидна." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Въведеният домейн на електронната поща не е утвърден." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Регистрацията е деактивирана." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Въведена е недопустима стойност" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Липсва сериен номер" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Повтарящ се сериен номер" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Невалиден диапазон от групи: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Не са открити серийни номера" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Премахнете HTML маркерите от тази стойност" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Грешка при съединението" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Сървърът отговари с невалиден статусен код" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Възникна изключение" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Сървърът отговори с невалидна стойност за дължината на съдържанието (Content-Length)" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Размерът на изображението е твърде голям" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Сваляното на изображение превиши максималния размер" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Отдалеченият сървър върна празен отговор" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "Китайски (традиционен)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Част" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Потребител" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Изпратено" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Изгубен" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Върнат" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Цялостна наличност" @@ -6641,421 +6755,421 @@ msgstr "Цялостна наличност" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Наличност" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Място в склада" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Места в склада" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Наличността е преброена" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index 7e1e045d22..64920a6c70 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: cs\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Uživatel nemá právo zobrazit tento model" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Zadaná neplatná jednotka ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Není k dispozici žádná hodnota" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Nelze převést {original} na {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Vyplněno neplatné množství" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Vyplněno neplatné množství ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Zadejte datum" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Poznámky" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Hodnota '{name}' neodpovídá formátu vzoru" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Poskytnutá hodnota neodpovídá požadovanému vzoru: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Zadaná primární e-mailová adresa je neplatná." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Zadaná e-mailová doména není povolena." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Registrace vypnuta." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Nevyplněné výrobní číslo" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Duplicitní výrobní číslo" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Neplatný rozsah skupiny: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Rozsah skupiny {group} překračuje povolené množství ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Neplatná sekvence skupiny: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Nenalezena žádná výrobní čísla" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Počet jedinečných sériových čísel ({len(serials)}) musí odpovídat množství ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Odstranit HTML tagy z této hodnoty" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Chyba spojení" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Server odpověděl s neplatným stavovým kódem" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Došlo k výjimce" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Server odpověděl s neplatnou hodnotou Content-Length" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Velikost obrázku je příliš velká" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Stahování obrázku překročilo maximální velikost" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Vzdálený server vrátil prázdnou odpověď" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Zadaná URL adresa není platný soubor obrázku" @@ -364,8 +364,8 @@ msgstr "Čínština (tradiční)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Přihlásit se do aplikace" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Metadata pluginu" msgid "JSON metadata field, for use by external plugins" msgstr "Pole metadat JSON pro použití externími pluginy" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Nesprávně naformátovaný vzor" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Neznámý formát klíče" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Chybí požadovaný klíč" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Referenční pole nemůže být prázdné" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Referenční číslo musí odpovídat požadovanému vzoru" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Referenční číslo je příliš velké" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Název" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Název" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Popis" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Cesta" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Poznámky (volitelné)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Data čárového kódu" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Data čárového kódu třetí strany" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Hash čárového kódu" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Jedinečný hash dat čárového kódu" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Nalezen existující čárový kód" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Chyba serveru" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Měna" msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Uživatelské jméno" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Křestní jméno" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "Křestní jméno uživatele" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Příjmení" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "Příjmení uživatele" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "Emailová adresa uživatele" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "Personál" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "Má tento uživatel oprávnění personálu" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "Super-uživatel" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "Je tento uživatel superuživatel" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "Je tento uživatel superuživatel" msgid "Active" msgstr "Aktivní" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "Je tento uživatelský účet aktivní" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Nemáte oprávnění měnit tuto uživatelskou roli." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Pouze superuživatelé mohou vytvářet nové uživatele" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Váš účet byl vytvořen." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Pro přihlášení použijte funkci obnovení hesla" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Vítejte v InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Vzdálený obraz" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL souboru vzdáleného obrázku" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Email backend není nakonfigurován" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Kontroly zdraví systému InvenTree selhaly" @@ -691,122 +691,122 @@ msgstr "Neplatná fyzikální jednotka" msgid "Not a valid currency code" msgstr "Neplatný kód měny" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Přidaná hodnota nesmí být záporná" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Nesmí přesáhnout 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Neplatná hodnota překročení" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Upravit informace o uživateli" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Nastavit heslo" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Hesla se musí shodovat" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Zadáno špatné heslo" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Informace o systému" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadřazená sestava" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Vystavil" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 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:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Volitelné" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Sestava" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Sledováno" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Přiděleno" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Přiděleno" msgid "Available" msgstr "Dostupné" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Vytvořit objednávku" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Vytvořit objednávku" msgid "Build Orders" msgstr "Vytvořené objednávky" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Neplatná volba nadřazeného sestavení" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Musí být specifikován odpovědný uživatel nebo skupina" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Díly obědnávky sestavení nemohou být změněny" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Referenční číslo objednávky" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Referenční číslo objednávky" msgid "Reference" msgstr "Reference" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Stručný popis sestavení (nepovinné)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Díl" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Vyber téma, které chceš stavět" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Referenční číslo prodejní objednávky" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Prodejní příkaz, kterému je tato verze přidělena" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Umístění lokace" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vyberte lokaci, ze které chcete provést inventuru pro sestavu. (nechte prázdné, chcete-li provést inventuru z libovolné lokace)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Cílová lokace" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Vyberte lokaci, kde budou dokončené položky uloženy" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Množství sestav" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Počet skladových položek k sestavení" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Dokončené položky" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Počet skladových položek, které byly dokončeny" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Stav sestavení" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Kód dávky" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Dávkový kód pro tento výstup sestavení" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Datum vytvoření" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Cílové datum dokončení" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Datum dokončení" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "dokončil" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Vystavil" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Uživatel, který vydal tento příkaz k sestavení" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Odpovědný" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Uživatel nebo skupina odpovědná za tento příkaz k sestavení" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Odkaz na externí URL" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Priorita sestavení" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Priorita tohoto příkazu k sestavení" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Priorita tohoto příkazu k sestavení" msgid "Project Code" msgstr "Kód projektu" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Kód projektu pro objednávku sestavení" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "Nepodařilo se uvolnit úlohu pro dokončení přidělení sestavy" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Příkaz k sestavení {build} byl dokončen" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Příkaz k sestavení byl dokončen" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Množství nemůže být větší než výstupní množství" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Výstup sestavy {serial} neprošel všemi požadavky" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "Vytvořit položku řádku objednávky" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Vytvořit objekt" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Vytvořit objekt" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Vytvořit objekt" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Množství" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Vyžadované množství pro objednávku" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "Vybraná položka zásob neodpovídá řádku BOM" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "Vybraná položka zásob neodpovídá řádku BOM" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Skladové položky" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Zdrojová skladová položka" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Skladové množství pro sestavení" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Instalovat do" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Cílová skladová položka" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Název dílu" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Vytvořit výstup" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Vytvořený výstup neodpovídá nadřazenému sestavení" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Výstupní část se neshoduje s částí příkazu sestavení" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Výstup sestavení je již dokončen" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Tento stavební výstup není plně přiřazen" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Zadejte množství pro výstup sestavení" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Celé množství požadované pro sledovatelné díly" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Je vyžadována celočíselná hodnota množství, protože kusovník obsahuje sledovatelné díly" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Sériová čísla" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Zadejte sériová čísla pro sestavení výstupů" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Zadejte sériová čísla pro sestavení výstupů" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Lokace" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "Skladové umístění pro výstup sestavy" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Automaticky zvolit sériová čísla" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automaticky přidělit požadované položky s odpovídajícími sériovými čísly" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "U sledovatelných dílů musí být uvedena sériová čísla" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "Následující sériová čísla již existují nebo jsou neplatná" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Musí být uveden seznam výstupů sestavy" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Umístění zásob pro seškrábnuté výstupy" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Zahodit alokace" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Vyřadit všechny přidělené zásoby pro vyřazené výstupy" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Důvod vyřazení výstupu(ů) sestavy" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Umístění dokončených výstupů sestavy" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Stav" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Přijmout neúplné přidělení" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Dokončit výstupy pokud zásoby nebyly plně přiděleny" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "Spotřebovat přidělené zásoby" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "Spotřebovat všechny zásoby, které již byly přiděleny této sestavě" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Odstranit neúplné výstupy" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Odstranit všechny výstupy sestavy, které nebyly dokončeny" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Není povoleno" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Přijmout jako spotřebované touto objednávkou sestavy" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Uvolnit před dokončením této objednávky sestavy" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Nadměrně přidělené zásoby" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Jak chcete zacházet s extra skladovými položkami přiřazenými k objednávce na sestavu" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Některé skladové položky byly nadměrně přiděleny" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Přijmout nepřidělené" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Přijmout, že skladové položky nebyly plně přiřazeny k této objednávce sestavy" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Požadované zásoby nebyly plně přiděleny" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Přijmout neúplné" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Přijmout, že nebyl dokončen požadovaný počet výstupů sestavy" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Požadované množství sestavy nebylo dokončeno" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "Objednávka sestavy má neúplné výstupy" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Linka sestavy" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Výstup sestavy" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "Výstup sestavy musí odkazovat na stejnou sestavu" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Řádková položka sestavy" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part musí ukazovat na stejný díl jako objednávka sestavy" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "Položka musí být skladem" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Dostupné množství ({q}) překročeno" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "Pro přidělení sledovaných dílů musí být zadán výstup sestavy" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Položky přidělení musí být poskytnuty" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Skladové místo, odkud se mají díly odebírat (ponechte prázdné, pokud chcete odebírat z libovolného místa)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Vynechat lokace" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Vyloučit skladové položky z tohoto vybraného umístění" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Zaměnitelné zásoby" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Skladové položky na více místech lze používat zaměnitelně" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Náhradní zásoby" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Povolit přidělování náhradních dílů" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Volitelné položky" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Přiřazení volitelných BOM položek k objednávce sestavy" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "Nepodařilo se spustit úlohu automatického přidělování" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Číslo dílu výrobce" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Balení" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID dílu" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "IPN dílu" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Popis dílu" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Sledovatelné" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "BOM Položka" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Přidělené zásoby" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "Na objednávku" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Dostupné zásoby" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Zrušeno" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Hotovo" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Zásoby potřebné pro objednávku sestavy" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Opožděná objednávka sestavy" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Objednávka sestavy {bo} je nyní opožděná" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Zásoby nebyly plně přiřazeny k této objednávce na sestavu" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Dokončené výstupy" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Dokončené výstupy" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Prodejní objednávka" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Priorita" @@ -1968,7 +1977,7 @@ msgstr "Zdroj zásob" msgid "Stock can be taken from any available location." msgstr "Zásoby lze odebírat z jakéhokoli dostupného umístění." -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Místo určení" @@ -1981,13 +1990,13 @@ msgstr "Místo určení není specifikováno" msgid "Allocated Parts" msgstr "Přidělené díly" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Šarže" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Vytvořeno" @@ -2120,7 +2129,7 @@ msgstr "Objednávka nové sestavy" msgid "Build Order Details" msgstr "Podrobnosti o objednávce sestavy" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Neúplné výstupy" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "Je odkaz" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "Je soubor" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "Uživatel nemá oprávnění k odstranění této přílohy" @@ -2209,1631 +2218,1631 @@ msgstr "{name.title()} Soubor" msgid "Select {name} file to upload" msgstr "Vyberte {name} soubor k nahrání" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Aktualizováno" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Časové razítko poslední aktualizace" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "Adresa URL webu je uzamčena konfigurací" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Jedinečný kód projektu" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Popis projektu" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "Uživatel nebo skupina odpovědná za tento projekt" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "Klíč nastavení (musí být unikátní - rozlišuje malá a velká písmena)" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "Hodnota nastavení" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "Zvolená hodnota není platnou možností" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "Hodnota musí být logická hodnota" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "Hodnota musí být celé číslo" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "Klíčový text musí být jedinečný" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Žádná skupina" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Je vyžadován restart" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "Bylo změněno nastavení, které vyžaduje restart serveru" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Nevyřízené migrace" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "Počet nevyřízených migrací databáze" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Název instance serveru" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "Textový popisovač pro instanci serveru" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Použít název instance" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Použít název instance v liště" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Omezit zobrazování `o aplikaci`" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Zobrazovat okno `o aplikaci` pouze superuživatelům" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Jméno společnosti" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Interní název společnosti" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "Základní URL" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "Základní URL pro instanci serveru" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Výchozí měna" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "Vyberte základní měnu pro cenové kalkulace" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "Podporované měny" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "Seznam podporovaných kódů měn" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "Interval aktualizace měny" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Jak často aktualizovat směnné kurzy (pro vypnutí nastavte na nulu)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "dny" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "Plugin aktualizace měny" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "Plugin pro aktualizaci měn k použití" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Stáhnout z URL" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Povolit stahování vzdálených obrázků a souborů z externích URL" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Limit velikosti stahování" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Maximální povolená velikost stahování vzdáleného obrázku" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "User-agent použitý ke stažení z adresy URL" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Povolit přepsání user-agenta používaného ke stahování obrázků a souborů z externí adresy URL (ponechte prázdné pro výchozí)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "Přísná validace URL" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "Vyžadovat specifikaci schématu při ověřování adres URL" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Vyžadovat potvrzení" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Vyžadovat výslovné potvrzení uživatele pro určitou akci." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Hloubka stromu" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Výchozí hloubka stromu pro zobrazení stromu. Hlubší úrovně lze načítat líně podle potřeby." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Interval kontroly aktualizací" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Jak často kontrolovat aktualizace (nastavte na nulu pro vypnutí)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Automatické Zálohování" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Povolit automatické zálohování databáze a mediálních souborů" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Interval automatického zálohování" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Zadejte počet dní mezi automatickými zálohovými událostmi" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Interval mazání úloh" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "Výsledky úloh na pozadí budou odstraněny po zadaném počtu dní" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "Interval odstranění protokolu chyb" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "Záznamy chyb budou odstraněny po zadaném počtu dní" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "Interval pro odstranění oznámení" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Uživatelská oznámení budou smazána po zadaném počtu dní" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Podpora čárových kódů" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "Povolit podporu pro skenování čárových kódů ve webovém rozhraní" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Zpoždění vstupu čárového kódu" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Doba zpoždění zpracování vstupu čárového kódu" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Podpora webové kamery pro čárové kódy" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Povolit skenování čárových kódů přes webovou kameru v prohlížeči" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "Revize dílu" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Povolit pole revize pro díl" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "Povolit odstranění ze sestavy" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "Povolit odstranění dílů, které jsou použity v sestavě" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulární vzorec výrazu pro odpovídající IPN dílu" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Povolit duplicitní IPN" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Povolit více dílům sdílet stejný IPN" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Povolit editaci IPN" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Povolit změnu IPN při úpravách dílu" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Kopírovat data BOM dílu" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopírovat data BOM ve výchozím nastavení při duplikování dílu" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Kopírovat data parametrů dílu" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopírovat data parametrů ve výchozím nastavení při duplikování dílu" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Kopírovat zkušební data dílu" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Kopírovat testovací data ve výchozím nastavení při duplikování dílu" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Kopírovat šablony parametrů kategorie" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "Kopírování šablon parametrů kategorie při vytváření dílu" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Šablona" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Díly jsou ve výchozím nastavení šablony" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "Díly lze ve výchozím nastavení sestavit z jiných komponentů" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Komponent" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "Díly lze ve výchozím nastavení použít jako dílčí komponenty" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Možné zakoupit" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Prodejné" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Nehmotné (virtuální)" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Díly jsou nehmotné (virtuální) ve výchozím nastavení" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Zobrazit Import v zobrazeních" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Zobrazit průvodce importem v některých zobrazeních dílu" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Zobrazit související díly" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Zobrazit související díly pro díl" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Počáteční údaje zásob" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Povolit vytvoření počátečního skladu při přidání nové části" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Počáteční údaje dodavatele" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Povolit vytvoření počátečních dat dodavatele při přidávání nového dílu" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Formát zobrazení jména dílu" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Formát pro zobrazení názvu dílu" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Výchozí ikona kategorie dílu" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Výchozí ikona kategorie dílu (prázdné znamená bez ikony)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Vynutit jednotky parametru" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Pokud jsou uvedeny jednotky, musí hodnoty parametrů odpovídat zadaným jednotkám" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Minimální počet desetinných míst u cen" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimální počet desetinných míst k zobrazení u cenových údajů" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "Maximální počet desetinných míst u cen" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximální počet desetinných míst k zobrazení u cenových údajů" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Použít ceny dodavatele" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Zahrnout cenová zvýhodnění dodavatelů do celkových cenových kalkulací" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Přepsání historie nákupu" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historické ceny nákupních objednávek mají přednost před cenovými zvýhodněními dodavatele" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Použít ceny skladových položek" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Použít ceny z ručně zadaných skladových údajů pro cenové kalkulace" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Stáří cen skladových položek" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Vyloučit skladové položky starší než tento počet dní z cenových kalkulací" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Použít cenu varianty" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Zahrnutí cen variant do celkových cenových kalkulací" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Pouze aktivní varianty" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "Pro výpočet ceny varianty použijte pouze aktivní díly varianty" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "Interval přestavby cen" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Počet dní před automatickou aktualizací cen dílů" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Interní ceny" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Povolit interní ceny pro díly" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Přepis interní ceny" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "Pokud jsou k dispozici, interní ceny mají přednost před výpočty cenového rozpětí" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Povolit tisk štítků" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Povolit tisk štítků z webového rozhraní" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "DPI rozlišení štítků" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Rozlišení DPI při generování obrazových souborů, které se dodávají do zásuvných modulů pro tisk štítků" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Povolit reporty" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Povolit generování reportů" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Režim ladění chyb" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Generovat reporty v režimu ladění (HTML výstup)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "Zaznamenávat chyby reportů" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "Zaznamenávat chyby, které se vyskytnou při vytváření reportů" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Velikost stránky" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Výchozí velikost stránky pro PDF reporty" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Povolit testovací reporty" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Povolit generování zkušebních reportů" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Připojit testovací reporty" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Při tisku testovacího reportu, připojte kopii reportu k přidružené skladové položce" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Globálně unikátní sériová čísla" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "Sériová čísla pro skladové položky musí být globálně unikátní" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Automaticky vyplnit sériová čísla" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Automaticky vyplnit sériová čísla ve formulářích" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Odstranit vyčerpané zásoby" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "Určuje výchozí chování při vyčerpání zásoby položky" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Šablona kódu dávky" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Šablona pro generování výchozích kódů dávky pro skladové položky" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Expirace zásob" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Povolit funkci expirace zásob" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Prodat prošlé zásoby" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Povolit prodej prošlých zásob" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Čas stáří zásob" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Počet dnů, po které jsou skladové položky považovány za nevyužité před uplynutím doby expirace" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Sestavit prošlé zásoby" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Povolit sestavování s prošlými zásobami" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Kontrola vlastnictví zásob" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Umožnit kontrolu vlastnictví nad skladovými místy a položkami" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Výchozí ikona umístění zásob" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Výchozí ikona umístění zásob (prázdné znamená bez ikony)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "Zobrazit nainstalované skladové položky" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "Zobrazit nainstalované skladové položky ve skladových tabulkách" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "Zkontrolovat BOM při instalaci položek" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Nainstalované skladové položky musí existovat v BOM pro nadřazený díl" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "Povolit převod mimo sklad" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Umožnit přesun skladových položek, které nejsou na skladě, mezi skladovými místy" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Referenční vzor objednávky sestavy" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole Objednávka sestavy" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "Vyžadovat odpovědného vlastníka" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "Ke každé objednávce musí být přiřazen odpovědný vlastník" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "Blokovat, dokud testy neprojdou" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Zabránit dokončení výstupů sestavy, dokud neprojdou všechny požadované testy" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "Povolit vracení objednávek" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "Povolit funkci vrácení objednávky v uživatelském rozhraní" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "Referenční vzor návratové objednávky" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "Požadovaný vzor pro vygenerování referenčního pole Návratová objednávka" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "Úprava dokončených návratových objednávek" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "Umožnit úpravu návratových objednávek po jejich dokončení" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Referenční vzor prodejní objednávky" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole prodejní objednávky" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "Výchozí přeprava prodejní objednávky" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "Povolit vytvoření výchozí přepravy s prodejními objednávkami" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "Úprava dokončených prodejních objednávek" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Umožnit úpravy prodejních objednávek po jejich odeslání nebo dokončení" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "Označit odeslané objednávky jako dokončené" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Prodejní objednávky označené jako odeslané se automaticky dokončí a obejdou stav „odesláno“" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "Referenční vzor nákupní objednávky" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole nákupní objednávky" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Úprava dokončených nákupních objednávek" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Umožnit úpravy nákupních objednávek po jejich odeslání nebo dokončení" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "Automatické dokončování nákupních objednávek" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automaticky označit nákupní objednávky jako kompletní, jakmile jsou přijaty všechny řádkové položky" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Povolit pole zapomenutého hesla" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Povolení funkce zapomenutého hesla na přihlašovacích stránkách" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Povolit registrace" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Povolit samoregistraci uživatelů na přihlašovacích stránkách" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "Povolit SSO" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "Povolit SSO na přihlašovacích stránkách" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "Povolit SSO registraci" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Povolit samoregistraci uživatelů prostřednictvím SSO na přihlašovacích stránkách" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Vyžadován e-mail" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "Požadovat, aby uživatel při registraci zadal e-mail" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "Automaticky vyplnit SSO uživatele" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automaticky vyplnit údaje o uživateli z údajů o účtu SSO" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "Mail dvakrát" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "Při registraci dvakrát požádat uživatele o zadání e-mailu" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Heslo dvakrát" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "Při registraci dvakrát požádat uživatele o heslo" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Povolené domény" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Omezit registraci na určité domény (oddělené čárkou a začínající @)" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Skupina při registraci" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Vynutit MFA" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Uživatelé musí používat vícefaktorové zabezpečení." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Zkontrolovat pluginy při spuštění" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Zkontrolujte, zda jsou při spuštění nainstalovány všechny pluginy - povolit v kontejnerových prostředích" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "Zkontrolovat aktualizace pluginů" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "Povolit pravidelné kontroly aktualizací nainstalovaných pluginů" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "Povolit integraci URL" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "Povolit plug-inům přidávat trasy URL" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "Povolit integraci navigace" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "Povolit integrování pluginů do navigace" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "Povolit integraci aplikací" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "Povolit pluginům přidávát aplikace" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "Povolit integraci plánu" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Povolit pluginům spouštění naplánovaných úloh" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "Povolit integraci událostí" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "Povolit pluginům reagovat na interní události" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "Povolit kódy projektů" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "Povolit kódy projektů pro sledování projektů" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "Funkce inventury" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Povolit funkci inventury pro evidenci stavu zásob a výpočet hodnoty zásob" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "Vyloučit externí umístění" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Vyloučit skladové položky na externích místech z výpočtů inventury" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "Perioda automatické inventury" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Počet dní mezi automatickým záznamem inventury (pro vypnutí nastavte nulu)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "Interval mazání reportů" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Reporty o inventuře se po určitém počtu dní vymažou" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "Zobrazit celá jména uživatelů" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "Zobrazit plná jména uživatelů namísto uživatelských jmen" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "Povolit data zkušební stanice" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "Povolit sběr dat ze zkušební stanice pro výsledky testů" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "Klíč nastavení (musí být unikátní - rozlišuje malá a velká písmena" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "Skrýt neaktivní díly" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skrýt neaktivní díly ve výsledcích zobrazených na domovské stránce" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Zobrazit odebírané díly" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Zobrazit odebírané díly na domovské stránce" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Zobrazit odebírané kategorie" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "Zobrazit kategorie odebíraných dílů na hlavní stránce" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Zobrazit nejnovější díly" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Zobrazit nejnovější díly na domovské stránce" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "Zobrazit neplatné kusovníky (BOMy)" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "Zobrazit kusovníky (BOMy), které čekají na ověření, na domovské stránce" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Zobrazit nedávné změny zásob" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "Zobrazit nedávno změněné skladové položky na domovské stránce" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Zobrazit nízký stav zásob" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Zobrazit na domovské stránce položky s nízkou skladovou zásobou" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Zobrazit vyčerpané zásoby" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "Zobrazit vyčerpané položky na domovské stránce" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Zobrazit potřebné zásoby" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "Zobrazit skladové položky potřebné pro sestavy na domovské stránce" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Zobrazit expirované zásoby" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "Zobrazit expirované skladové položky na domovské stránce" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Zobrazit neaktuální zásoby" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "Zobrazit neaktuální skladové položky na domovské stránce" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Zobrazit nevyřízené sestavy" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Zobrazit nevyřízené sestavy na domovské stránce" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Zobrazit sestavy po splatnosti" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "Zobrazit sestavy po splatnosti na domovské stránce" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Zobrazit nevyřízené PO" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Zobrazit nevyřízené PO na domovské stránce" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Zobrazit PO po splatnosti" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Zobrazit PO po splatnosti na domovské stránce" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Zobrazit nevyřízené SO" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "Zobrazit nevyřízené SO na domovské stránce" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Zobrazit SO po splatnosti" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "Zobrazit SO po splatnosti na domovské stránce" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "Zobrazit čekající zásilky SO" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "Zobrazit čekající zásilky SO na domovské stránce" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Zobrazit novinky" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Zobrazit novinky na domovské stránce" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "Zobrazení štítků na řádku" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Zobrazit štítky PDF v prohlížeči namísto stahování jako soubor" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Výchozí tiskárna štítků" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "Konfigurovat tiskárnu štítků, která má být vybrána jako výchozí" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Zobrazení reportů na řádku" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Zobrazit reporty PDF v prohlížeči namísto stahování jako soubor" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Hledat díly" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "Zobrazit díly v náhledu hledání" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Hledat díly dodavatele" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "Zobrazit díly dodavatele v náhledu hledání" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Vyhledávání dílů výrobce" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "Zobrazit díly výrobce v náhledu hledání" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Skrýt neaktivní díly" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "Vyloučené neaktivní části z okna náhledu vyhledávání" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Hledat kategorie" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "Zobrazit kategorie dílů v náhledu hledání" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Hledat zásoby" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "Zobrazit skladové položky v náhledu hledání" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Skrýt nedostupné skladové položky" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "Vyloučit skladové položky, které nejsou dostupné z okna náhledu hledání" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Hledat umístění" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "Zobrazit skladová umístění v náhledu hledání" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Hledat společnosti" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "Zobrazit společnosti v náhledu hledání" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Hledat objednávky sestav" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "Zobrazit objednávky sestav v náhledu hledání" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Hledat nákupní objednávky" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "Zobrazit nákupní objednávky v náhledu hledání" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Vyloučit neaktivní nákupní objednávky" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "Vyloučit neaktivní nákupní objednávky z okna náhledu vyhledávání" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Hledat prodejní objednávky" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "Zobrazit prodejní objednávky v náhledu hledání" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "Vyloučit neaktivní prodejní objednávky" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "Vyloučit neaktivní prodejní objednávky z okna náhledu vyhledávání" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Vyhledávání vrácených objednávek" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "Zobrazit vrácené objednávky v okně náhledu vyhledávání" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "Vyloučit neaktivní vrácené objednávky" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "Vyloučit neaktivní vrácené objednávky z okna náhledu vyhledávání" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "Náhled výsledků vyhledávání" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "Počet výsledků, které se mají zobrazit v každé části okna náhledu vyhledávání" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Regex hledání" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "Povolit regulární výrazy ve vyhledávacích dotazech" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "Vyhledávání celého slova" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "Vyhledávací dotazy vracejí výsledky pro shody celých slov" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Zobrazit množství ve formulářích" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "Zobrazit dostupné množství dílů v některých formulářích" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "Klávesa Escape zavře formuláře" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "Zavřít modální formuláře pomocí klávesy escape" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Pevná navigační lišta" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "Pozice navigační lišty je pevně nastavena na horní okraj obrazovky" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Preferovaný formát pro zobrazení datumů" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Plánování dílů" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "Zobrazit informace o plánování dílů" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventura dílu" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zobrazit informace o skladových zásobách dílů (pokud je povolena funkce inventury)" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "Délka textu v tabulce" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximální délka textu v zobrazeních tabulek" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "Přijímat zprávy o chybách" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "Dostávat oznámení o systémových chybách" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "Poslední použité tiskárny" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "Uložte poslední použité tiskárny pro uživatele" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Uživatel" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "Množství cenové slevy" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Cena" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "Jednotková cena při stanoveném množství" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "Koncový bod" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "Koncový bod, ve kterém je tento webhook přijímán" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "Název tohoto webhooku" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "Je tento webhook aktivní" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Token pro přístup" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Tajný klíč" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "Sdílený tajný klíč pro HMAC" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "ID zprávy" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "Unikátní identifikátor pro tuto zprávu" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "Hostitel" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "Hostitel, od kterého byla tato zpráva přijata" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Záhlaví" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "Záhlaví této zprávy" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Tělo" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "Tělo zprávy" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "Koncový bod, na kterém byla zpráva přijata" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "Pracoval na" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "Byla práce na této zprávě dokončena?" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "ID" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Název" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Název" msgid "Link" msgstr "Odkaz" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Zveřejněno" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Souhrn" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Přečteno" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "Byla tato novinka přečtena?" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "Byla tato novinka přečtena?" msgid "Image" msgstr "Obrazek" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Soubor obrázku" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "Cílový typ modelu pro tento obrázek" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "Cílové ID modelu pro tento obrázek" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "Název jednotky musí být platný identifikátor" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "Název jednotky" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "Volitelný symbol jednotky" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definice" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "Definice jednotky" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Příloha" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Chybějící soubor" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentář" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "Komentář přílohy" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "Datum nahrání" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "Datum, kdy byl soubor nahrán" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "Velikost souboru" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "Velikost souboru v bytech" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "Uveden neplatný typ modelu pro přílohu" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Nový {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "Byla vytvořena nová objednávka a přiřazena k vám" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "{verbose_name} zrušeno" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "Objednávka, která je vám přidělena, byla zrušena" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "Čas uzamčení" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "Jméno úkolu" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "Funkce" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "Název funkce" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "Argumenty" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "Argumenty úlohy" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "Argumenty klíčových slov" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "Argumenty klíčových slov úlohy" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Název souboru" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "Typ modelu" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "Uživatel nemá oprávnění k vytváření nebo úpravám příloh pro tento model" @@ -4116,15 +4217,15 @@ msgstr "Přiřadit pole" msgid "Match Items" msgstr "Přiřadit položky" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "Shoda polí se nezdařila" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Importované díly" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "Interní díl je aktivní" msgid "Supplier is Active" msgstr "Dodavatel je aktivní" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Společnost" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Společnosti" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Popis společnosti" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "Popis společnosti" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Webová stránka" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "Webové stránky společnosti" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Telefonní číslo" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Kontaktní telefonní číslo" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Kontaktní místo" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Odkaz na externí informace o společnosti" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "Je tato společnost aktivní?" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Prodáváte zboží této společnosti?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Zakupujete zboží od této společnosti?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Vyrábí tato společnost díly?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Výchozí měna používaná pro tuto společnost" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Adresa" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "Adresy" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "Vyberte společnost" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "Název adresy" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "Název popisující záznam adresy" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "Primární adresa" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "Nastavit jako primární adresu" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Řádek 1" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "1. řádek adresy" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Řádek 2" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "2. řádek adresy" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "PSČ" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "Město/Region" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "PSČ město/region" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "Stát/kraj" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "Stát nebo provincie" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "Země" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "Adresovaná země" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "Doručovací poznámky pro kurýra" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "Poznámky pro kurýra" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "Interní přepravní poznámky" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "Doručovací poznámky pro interní použití" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "Odkaz na informace o adrese (externí)" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Výrobce dílu" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Základní díl" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Zvolte díl" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Zvolte díl" msgid "Manufacturer" msgstr "Výrobce" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Vyberte výrobce" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Vyberte výrobce" msgid "MPN" msgstr "MPN" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL pro odkaz na díl externího výrobce" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "Popis dílu výrobce" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Název parametru" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Hodnota" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Hodnota parametru" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Jednotky" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Jednotky parametru" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Díl dodavatele" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "Jednotky balení musí být kompatibilní s jednotkami základních dílů" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "Jednotky balení musí být větší než nula" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "Odkazovaný díl výrobce musí odkazovat na stejný základní díl" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "Odkazovaný díl výrobce musí odkazovat na stejný základní díl" msgid "Supplier" msgstr "Dodavatel" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Vyberte dodavatele" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Skladová evidence dodavatele" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "Je tento díl dodavatele aktivní?" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Vyberte díl výrobce" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "Adresa URL pro odkaz na externí díl dodavatele" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "Popis dílu dodavatele" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Poznámka" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "základní cena" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimální poplatek (např. poplatek za skladování)" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Balení dílu" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "Balení dílu" msgid "Pack Quantity" msgstr "Počet kusů v balení" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Celkové množství dodávané v jednom balení. Pro jednotlivé položky ponechte prázdné." -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "více" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Objednat více" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "Množství dostupné od dodavatele" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "Dostupnost aktualizována" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "Datum poslední aktualizace údajů o dostupnosti" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Výchozí měna používaná pro tohoto dodavatele" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Zákazník" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "Odstranit obrázek" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "Odstranit přidružený obrázek z této společnosti" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Odstranit" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "Nahrát obrázek" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "Stáhnout obrázek" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "Odstranit díl výrobce" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Interní díl" @@ -4838,7 +4939,7 @@ msgstr "Nejsou k dispozici žádné informace o výrobci" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "Vymazat dodavatele dílu" msgid "No supplier information available" msgstr "Nejsou k dispozici žádné informace o dodavateli" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "Aktualizovat dostupnost dílu" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Skladové položky" @@ -5022,99 +5123,107 @@ msgstr "Nový zákazník" msgid "New Company" msgstr "Nová společnost" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Umístěno" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "Kopie" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "Počet kopií, které se mají tisknout pro každý štítek" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "Připojeno" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Neznámý" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "Tisk" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "Žádná média" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "Odpojeno" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "Tiskárna štítků" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "Přímo vytisknout štítky pro různé položky." -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "Umístění tiskárny" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "Určení rozsahu tiskárny na konkrétní místo" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Společnost, od které se položky objednávají" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "Reference dodavatele" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "Referenční kód objednávky dodavatele" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "přijal" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Datum vystavení" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Datum vystavení objednávky" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "Datum dokončení objednávky" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "Dodavatel dílu se musí shodovat s dodavatelem PO" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "Množství musí být kladné" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "Společnost, jíž se položky prodávají" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Reference zákazníka " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "Referenční kód objednávky zákazníka" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Datum odeslání" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "odesláno společností" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "Objednávka je již dokončena" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "Objednávka je již zrušena" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "Pouze otevřená objednávka může být označena jako kompletní" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Objednávku nelze dokončit, protože dodávky jsou nekompletní" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "Objednávka nemůže být dokončena, protože jsou neúplné řádkové položky" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Množství položky" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "Odkaz na řádkovou položku" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "Poznámky k řádkovým položkám" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Cílové datum pro tuto řádkovou položku (pro použití cílového data z objednávky ponechte prázdné)" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "Popis řádkové položky (nepovinné)" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "Kontext" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "Dodatečný kontext pro tento řádek" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Cena za jednotku" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "Dodavatelský díl musí odpovídat dodavateli" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "smazáno" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Díl dodavatele" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "Díl dodavatele" msgid "Received" msgstr "Doručeno" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "Počet přijatých položek" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Nákupní cena" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Jednotková nákupní cena" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "Kde si kupující přeje, aby byla tato položka uložena?" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuální díl nelze přiřadit k prodejní objednávce" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "K prodejní objednávce lze přiřadit pouze prodejné díly" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prodejní cena" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Jednotková prodejní cena" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Odesláno" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Odeslané množství" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Datum odeslání" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Datum doručení" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "Datum doručení zásilky" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Kontroloval(a)" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Uživatel, který zkontroloval tuto zásilku" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Doprava" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Číslo zásilky" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Sledovací číslo" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Informace o sledování zásilky" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Číslo faktury" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "Referenční číslo přiřazené faktury" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "Zásilka již byla odeslána" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "Zásilka nemá žádné přidělené skladové položky" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "Zásobní položka nebyla přiřazena" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "Nelze přidělit skladovou položku na řádek s jiným dílem" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "Nelze přidělit skladovou položku na řádek bez dílu" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Přidělené množství nesmí překročit množství zásob" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "Množství musí být 1 pro serializovanou skladovou položku" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "Prodejní objednávka neodpovídá zásilce" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "Zásilka neodpovídá prodejní objednávce" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Řádek" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "Odkaz na zásilku z prodejní objednávky" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Položka" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "Vyberte skladovou položku pro přidělení" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Zadejte množství pro přidělení zásob" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "Reference návratové objednávky" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "Společnost, od které se vrací položky" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "Stav návratové objednávky" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "K návratové objednávce lze přiřadit pouze serializované položky" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "Vyberte položku pro vrácení od zákazníka" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "Datum přijetí" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "Datum přijetí této vrácené položky" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "Výsledek" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "Výsledky pro tuto položku" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "Náklady spojené s návratem nebo opravou této položky" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "Dokončené řádky" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "Objednávku nelze zrušit" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "Povolit uzavření objednávky s neúplnými řádkovými položkami" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "Objednávka má nedokončené řádkové položky" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "Objednávka není otevřena" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "Automatická cena" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Automaticky vypočítat nákupní cenu na základě údajů o dílech dodavatele" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Měna nákupní ceny" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "Sloučit položky" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "Sloučit položky se stejným dílem, místem určení a cílovým datem do jedné řádkové položky" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "Interní číslo dílu" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "Musí být uveden díl dodavatele" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "Objednávka musí být zadána" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "Dodavatel musí odpovídat objednávce" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "Objednávka musí odpovídat dodavateli" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "Řádková položka" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "Řádková položka neodpovídá nákupní objednávce" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "Vyberte cílové umístění pro přijaté položky" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "Zadat kód dávky pro příchozí položky skladu" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Zadat sériová čísla pro příchozí skladové položky" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Čárový kód" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "Naskenovaný čárový kód" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "Tento čárový kód se již používá" @@ -5910,7 +6019,7 @@ msgstr "Tento čárový kód se již používá" msgid "An integer quantity must be provided for trackable parts" msgstr "U sledovatelných dílů musí být uvedeno celočíselné množství" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "Musí být uvedeny řádkové položky" @@ -5922,59 +6031,59 @@ msgstr "Místo určení musí být specifikováno" msgid "Supplied barcode values must be unique" msgstr "Hodnoty dodaných čárových kódů musí být unikátní" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Ztraceno" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Vráceno" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategorie dílu" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Kategorie dílů" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Výchozí umístění dílů v této kategorii" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Díly nesmějí být přímo zařazeny do strukturované kategorie, ale mohou být zařazeny jako podkategorie." -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "Výchozí klíčová slova pro díly v této kategorii" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Název dílu" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "ID dílu nebo název dílu" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "Jedinečná hodnota ID dílu" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "Hodnota IPN dílu" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "Aktualizovat díly" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "Činnost nebyla specifikována" msgid "No matching action found" msgstr "Nebyla nalezena odpovídající činnost" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Pro data čárového kódu nebyla nalezena shoda" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Odmítnuto" msgid "Quarantined" msgstr "V karanténě" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Původní položka sledování zásob" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Položka zásob vytvořena" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Položka zásob upravena" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Přiřazeno výrobní číslo" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Stav zásob sečten" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Zásoba přidána ručně" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Zásoba odebrána ručně" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Umístění změněno" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Stav zásob byl aktualizován" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Nainstalováno do sestavy" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Odstraněno ze sestavy" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Instalovaná položka komponenty" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Odstraněná komponenta" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Rozdělit od nadřazené položky" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Rozdělit podřazený předmět" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Sloučené položky zásob" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Převedeno na variantu" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Výstup objednávky byl vytvořen" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Výstup objednávky sestavení dokončen" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Výstup objednávky sestavení byl odmítnut" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Spotřebováno podle objednávky" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Odesláno v souladu se zákaznickou objednávkou" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Přijato proti objednávce" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Vráceno proti vratce" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Odesláno zákazníkovi" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Vráceno od zákazníka" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Sestavení" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Odstranit" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Ano" msgid "No" msgstr "Ne" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Uživatelé" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Osobní údaje" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Oprávnění" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Nastavení oprávnění" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Skupina" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Zobrazit" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Oprávnění k zobrazení položek" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Oprávnění přidat položky" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Změnit" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Oprávnění k úpravě položek" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 20a7c3cccb..992ddb1e83 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: da\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API endpoint ikke fundet" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Bruger har ikke tilladelse til at se denne model" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Ingen værdi angivet" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Kunne ikke konvertere {original} til {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Ugyldigt antal angivet" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Ugyldigt antal angivet ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Fejloplysninger kan findes i admin panelet" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Angiv dato" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Bemærkninger" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Værdi '{name}' vises ikke i mønsterformat" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Den angivne værdi matcher ikke det påkrævede mønster: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Den indtastede email adresse er ikke gyldig." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Det angivne e-mail domæne er ikke godkendt." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Registrering er deaktiveret." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Serienummer streng er tom" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Duplikeret serienummer" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Ugyldig gruppesekvens: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Ingen serienumre fundet" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tags fra denne værdi" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Forbindelsesfejl" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Serveren svarede med ugyldig statuskode" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Der opstod en fejl" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Serveren svarede med ugyldig Content-Length værdi" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Billedstørrelsen er for stor" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Billeddownload overskred maksimumstørrelsen" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Fjernserver returnerede tomt svar" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Angivet URL er ikke en gyldig billedfil" @@ -364,8 +364,8 @@ msgstr "Kinesisk (traditionelt)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata felt, til brug af eksterne plugins" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Forkert formateret mønster" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Ukendt formatnøgle angivet" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøgle" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Referencefelt må ikke være tomt" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Reference skal matche det påkrævede mønster" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Referencenummer er for stort" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Ugyldigt valg" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Navn" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Markdown noter (valgfri)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Stregkode Data" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Tredjeparts stregkode data" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Stregkode Hash" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Unik hash af stregkode data" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Eksisterende stregkode fundet" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Serverfejl" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Valuta" msgid "Select currency from available options" msgstr "Vælg valuta fra tilgængelige muligheder" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Du har ikke tilladelse til at ændre denne brugerrolle." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Kun superbrugere kan oprette nye brugere" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Ugyldig værdi" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Vælg datafilen til upload" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Filtype ikke understøttet" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Ingen kolonner fundet i fil" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Ingen datarækker fundet i fil" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Ingen data-rækker angivet" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Ingen data-kolonner angivet" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrævet kolonne: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikeret kolonne: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Eksternt billede" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL til ekstern billedfil" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "E-mail backend ej konfigureret" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Helbredstjek af InvenTree system mislykkedes" @@ -691,122 +691,122 @@ msgstr "Ugyldig fysisk enhed" msgid "Not a valid currency code" msgstr "Ikke en gyldig valutakode" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Overskud må ikke være negativ" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Overskuddet må ikke overstige 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Ugyldig værdi for overskud" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Rediger brugerinformation" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Vælg adgangskode" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "De indtastede adgangskoder skal være ens" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Forkert adgangskode indtastet" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Systemoplysninger" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produktion" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Valgfri" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Sporet" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Allokeret" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Allokeret" msgid "Available" msgstr "Tilgængelig" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Produktionsordre" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Produktionsordre" msgid "Build Orders" msgstr "Produktionsordrer" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Ugyldigt valg for overordnet produktion" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Byggeordre enhed kan ikke ændres" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Produktionsordre reference" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Del" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Vælg dele til produktion" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Salgsordrereference" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kilde Lokation" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vælg lokation for lager, som skal benyttes til denne produktion (lad feltet stå tomt for at benytte vilkårligt lager)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Destinations Placering" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Vælg placering, hvor de færdige elementer vil blive gemt" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Produktions antal" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Antal lagervarer som skal produceres" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Afsluttede elementer" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Antal lagervarer som er færdiggjort" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Produktions Status" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Oprettelsesdato" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Projekteret afslutningsdato" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Dato for afslutning" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "udført af" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Udstedt af" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Link til ekstern URL" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Bygge Prioritet" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Prioritet af denne byggeordre" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Ikke tilladt" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Accepter som forbrugt af denne byggeordre" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Accepter Ikke tildelt" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter at lagervarer ikke er fuldt tildelt til denne byggeordre" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Accepter ufuldført" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Bygge linje" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Annulleret" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Fuldført" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Bruger" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Vedhæftning" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Manglende fil" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Manglende eksternt link" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Filnavn" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Placeret" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Afsendt" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Mistet" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Returneret" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Afvist" msgid "Quarantined" msgstr "I karantæne" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Forældet lager sporings post" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Lager-element oprettet" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Redigeret lager-element" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Serienummer tildelt" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Lagerbeholdning optalt" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Lagerbeholdning tilføjet manuelt" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Lagerbeholdning fjernet manuelt" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Lokation ændret" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Lager opdateret" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Monteret i samling" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Fjernet fra samling" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Installeret komponent element" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Fjernet komponent element" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Opdel fra overordnet element" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Opdel underordnet element" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Flettede lagervarer" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Konverteret til variant" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Byggeordre output genereret" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Byggeorder output fuldført" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Brugt efter byggeordre" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Afsendt mod salgsordre" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Modtaget mod indkøbsordre" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Returneret mod returordre" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Sendt til kunde" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Returneret fra kunde" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index c5b448f007..5839391cde 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: de\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Ungültige Einheit angegeben ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Kein Wert angegeben" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Konnte {original} nicht in {unit} umwandeln" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Ungültige Menge" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Ungültige Menge ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Fehlerdetails finden Sie im Admin-Panel" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Datum eingeben" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Notizen" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Wert '{name}' hält das Musterformat nicht ein" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Angegebener Wert entspricht nicht dem benötigten Muster: " @@ -132,82 +132,82 @@ msgstr "MFA Registrierung ist deaktiviert." msgid "The provided primary email address is not valid." msgstr "Die angegebene primäre E-Mail-Adresse ist ungültig." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Registrierung ist deaktiviert." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Keine Seriennummer angegeben" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Duplizierter Seriennummer" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Ungültiger Gruppenbereich: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Gruppenbereich {group} überschreitet die zulässige Menge ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Ungültige Gruppensequenz: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Keine Seriennummern gefunden" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Anzahl der eindeutigen Seriennummern ({len(serials)}) muss mit der Menge übereinstimmen ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Entferne HTML-Tags von diesem Wert" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Verbindungsfehler" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Server antwortete mit ungültigem Statuscode" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Ausnahme aufgetreten" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Server antwortete mit ungültigem Wert für die Inhaltslänge" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Bild ist zu groß" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Bilddownload überschreitet maximale Größe" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Remote-Server gab leere Antwort zurück" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" @@ -364,8 +364,8 @@ msgstr "Chinesisch (Traditionell)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] In App einloggen" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Plugin Metadaten" msgid "JSON metadata field, for use by external plugins" msgstr "JSON-Metadatenfeld, für die Verwendung durch externe Plugins" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Falsch formatiertes Muster" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Unbekannter Formatschlüssel angegeben" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Erforderlicher Formatschlüssel fehlt" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Referenz-Feld darf nicht leer sein" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Referenz muss erforderlichem Muster entsprechen" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Referenznummer ist zu groß" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Name" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Name" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Pfad" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Markdown Notizen (optional)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Barcode-Daten" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Barcode-Hash" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Eindeutiger Hash der Barcode-Daten" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Bestehender Barcode gefunden" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Serverfehler" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Währung" msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Benutzername" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Vorname" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "Vorname des Benutzers" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Nachname" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "Nachname des Benutzers" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "E-Mailadresse des Benutzers" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "Mitarbeiter" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "Hat der Benutzer die Mitarbeiter Berechtigung" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "Administrator" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "Ist dieser Benutzer ein Administrator" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "Ist dieser Benutzer ein Administrator" msgid "Active" msgstr "Aktiv" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "Ist dieses Benutzerkonto aktiv" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Sie haben keine Berechtigung, diese Benutzerrolle zu ändern." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Nur Superuser können neue Benutzer erstellen" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Ihr Konto wurde erstellt." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Bitte benutzen Sie die Passwort-zurücksetzen-Funktion, um sich anzumelden" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Willkommen bei InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Grafiken aus externen Quellen" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL der Remote-Bilddatei" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "E-Mail-Backend nicht konfiguriert" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" @@ -691,122 +691,122 @@ msgstr "Ungültige physikalische Einheit" msgid "Not a valid currency code" msgstr "Kein gültiger Währungscode" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Überschuss-Wert darf nicht negativ sein" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Überschuss darf 100% nicht überschreiten" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Ungültiger Wert für Ausschuss" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Passwort setzen" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Falsches Passwort angegeben" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Systeminformationen" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Über InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "Mehrstufig" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "Mir zugewiesen" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Aufgegeben von" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Optional" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Baugruppe" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Zugeordnet" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Zugeordnet" msgid "Available" msgstr "Verfügbar" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Bauauftrag" msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Verantwortlicher Benutzer oder Gruppe muss angegeben werden" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Teil in Bauauftrag kann nicht geändert werden" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Bauauftragsreferenz" msgid "Reference" msgstr "Referenz" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Kurze Beschreibung des Baus (optional)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Teil" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externer Link" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Bauauftrags-Priorität" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Priorität dieses Bauauftrags" msgid "Project Code" msgstr "Projektcode" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Projektcode für diesen Auftrag" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "Fehler beim Abladen der Aufgabe, um die Build-Allokation abzuschließen" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Build Ausgabe {serial} hat nicht alle erforderlichen Tests bestanden" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Objekt bauen" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Objekt bauen" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Erforderliche Menge für Auftrag" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Name des Teils" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Seriennummer für dieses Endprodukt eingeben" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Lagerort" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "Lagerort für Bauprodukt" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "Seriennummern müssen für nachverfolgbare Teile angegeben werden" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Lagerort für ausgemusterte Ausgänge" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Zuteilungen verwerfen" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Bestandszuteilung für ausgemusterte Endprodukte verwerfen" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Status" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "Zugewiesen Bestand verbrauchen" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "Verbrauche alle Bestände, die diesem Bauauftrag bereits zugewiesen wurden" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Nicht erlaubt" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Wie sollen zusätzliche Lagerbestandteile, die dem Bauauftrag zugewiesen wurden, behandelt werden" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zugewiesen wurden" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Akzeptieren, dass die erforderliche Anzahl der Bauaufträge nicht abgeschlossen ist" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Bauauftragsposition" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Bauauftragspositionsartikel" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerort, von dem Teile bezogen werden sollen (leer lassen, um sie von jedem Lagerort zu nehmen)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "Fehler beim Starten der automatischen Zuweisung" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "Ortsname" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Verpackungen" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Teil-ID" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "Teil IPN" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Beschreibung des Teils" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Seriennummer" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "Zugewiesene Menge" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "Verfügbare Menge" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Nachverfolgbar" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "Vererbt" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Varianten zulassen" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Zugewiesener Bestand" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "Bestellt" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Verfügbarer Bestand" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "Verfügbares Ersatzmaterial" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "Externes Lager" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Storniert" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Fertig" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Bestand für Bauauftrag erforderlich" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Überfälliger Bauauftrag" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Bauauftrag {bo} ist jetzt überfällig" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Fertiggestellte Endprodukte" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Auftrag" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Priorität" @@ -1968,7 +1977,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:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Ziel-Lager" @@ -1981,13 +1990,13 @@ msgstr "Ziel-Lagerort nicht angegeben" msgid "Allocated Parts" msgstr "Zugewiesene Teile" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Losnummer" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Erstellt" @@ -2120,7 +2129,7 @@ msgstr "Neuer Bauauftrag" msgid "Build Order Details" msgstr "Bauauftragdetails" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Unfertige Endprodukte" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "Link" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "Datei" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "Benutzer hat keine Berechtigung zum Löschen des Anhangs" @@ -2209,1631 +2218,1631 @@ msgstr "{name.title()} Datei" msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Aktualisiert" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Zeitstempel der letzten Aktualisierung" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "Seiten-URL ist durch die Konfiguration gesperrt" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Eindeutiger Projektcode" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Projektbeschreibung" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "Benutzer oder Gruppe verantwortlich für dieses Projekt" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Keine Gruppe" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Ausstehende Migrationen" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "Anzahl der ausstehenden Datenbankmigrationen" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Firmenname" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "Wählen Sie die Basiswährung für Preisberechnungen aus" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "Verfügbare Währungen" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "Liste der unterstützten Währungskürzel" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "Währungsaktualisierungsintervall" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Wie oft Wechselkurse aktualisiert werden sollen (auf Null zum Deaktivieren setzen)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "Tage" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "Währungs-Aktualisierungs-Plugin" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "Zu verwendendes Währungs-Aktualisierungs-Plugin" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Download-Größenlimit" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Maximal zulässige Größe für heruntergeladene Bilder" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "Benutzer-Agent zum Herunterladen von Daten" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Überschreiben des Benutzer-Agenten, der verwendet wird, um Bilder und Dateien von externer Servern herunterzuladen (leer für die Standardeinstellung)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "Strenge URL-Prüfung" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "Erfordert die Schema-Spezifikation bei der Validierung von URLs" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Bestätigung verpflichtend" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Eine ausdrückliche Benutzerbestätigung für bestimmte Aktionen erfordern." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Baumtiefe" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standard Ebene für Baumansicht. Tiefere Ebenen können bei Bedarf nachgeladen werden." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Prüfungsintervall aktualisieren" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Wie oft soll nach Updates gesucht werden? (auf 0 setzen zum Deaktivieren)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Automatische Sicherung" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Automatische Sicherung der Datenbank- und Mediendateien aktivieren" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Intervall für automatische Sicherung" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Anzahl der Tage zwischen automatischen Sicherungen" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Aufgabenlöschinterval" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "Ergebnisse der Hintergrundaufgabe werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "Löschintervall für Fehlerprotokolle" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "Fehlerprotokolle werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "Löschintervall für Benachrichtigungen" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Benutzerbenachrichtigungen werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "Barcode-Scanner Unterstützung im Webinterface aktivieren" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Barcode-Eingabeverzögerung" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Verzögerungszeit bei Barcode-Eingabe" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "Artikelrevisionen" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Revisions-Feld für Artikel aktivieren" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "Löschen aus Baugruppe erlauben" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "Erlaube das Löschen von Teilen, die in einer Baugruppe verwendet werden" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Vorlage" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Komponente" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Initialer Lagerbestand" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Erstellen von Lagerbestand beim Hinzufügen eines neuen Teils erlauben" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Erstellen von Lieferantendaten beim Hinzufügen eines neuen Teils erlauben" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Standardsymbol der Teilkategorie" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Parameter Einheiten durchsetzen" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Wenn Einheiten angegeben werden, müssen die Parameterwerte mit den angegebenen Einheiten übereinstimmen" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Dezimalstellen für minimalen Preis" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mindestanzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "Dezimalstellen für maximalen Preis" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximale Anzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Lagerartikel, die älter als diese Anzahl an Tagen sind, von der Preisberechnung ausschließen" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "Intervall für Neuberechnung von Preisen" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-Auflösung bei der Erstellung von Bilddateien für Etikettendruck-Plugins" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "Berichtsfehler protokollieren" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "Fehler, die beim Erstellen von Berichten auftreten, protokollieren" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Testberichte aktivieren" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Testberichte anhängen" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Beim Drucken eines Testberichts dem zugehörigen Lagerbestand eine Kopie des Testberichts beifügen" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel aufgebraucht ist" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "Zeige installierte Lagerartikel" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "Anzeige der installierten Lagerartikel in Bestandstabellen" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "Prüfe BOM bei der Installation von Elementen" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Installierte Lagerbestandteile müssen im BOM für den übergeordneten Teil vorhanden sein" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "Erlaube Verschieben von \"nicht auf Lager\" Bestand" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Lagerartikel, die nicht auf Lager sind, können zwischen Lagerstandorten übertragen werden" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bauaufträge" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "Verantwortlicher Besitzer erforderlich" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "Jeder Bestellung muss ein verantwortlicher Besitzer zugewiesen werden" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "Blockieren bis Test bestanden" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Verhindert die Fertigstellung bis alle erforderlichen Tests bestanden sind" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "Rücksendungen aktivieren" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "Aktivieren der Rücksendung-Funktion in der Benutzeroberfläche" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "Referenz Muster für Rücksendungen" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Rücksendungen" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "Abgeschlossene Rücksendungen bearbeiten" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "Bearbeitung von Rücksendungen nach Abschluss erlauben" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Aufträge" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Aufträge bearbeiten" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bearbeitung von Aufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "Versendete Bestellungen als abgeschlossen markieren" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Als versendet markierte Aufträge werden automatisch abgeschlossen und überspringen den Status \"Versandt\"" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bestellungen" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bearbeitung von Einkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "Bestellungen automatisch abschließen" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Bestellung automatisch als abgeschlossen markieren, wenn der Empfang aller Artikel bestätigt wurde" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Selbstregistrierung über SSO für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "SSO Gruppensynchronisation aktivieren" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "SSO Gruppenschlüssel" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "Nach Plugin-Aktualisierungen suchen" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "Periodische Überprüfungen auf Updates für installierte Plugins aktivieren" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "Projektcodes aktivieren" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "Aktiviere Projektcodes für die Verfolgung von Projekten" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Inventur-Funktionen zur Aufzeichnung von Lagerbeständen und zur Berechnung des Lagerwerts aktivieren" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "Externe Standorte ausschließen" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Lagerartikeln in externen Standorten in der Berechnungen zur Bestandsaufnahme ausschließen" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Anzahl der Tage zwischen automatischen Bestandsaufnahmen (zum Deaktivieren auf Null setzen)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/models.py:2143 +#: common/models.py:2145 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:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "Vollständige Namen von Benutzern anzeigen" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "Teststation-Daten aktivieren" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "Teststation-Datenerfassung für Testergebnisse aktivieren" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ausblenden inaktiver Teile in den auf der Startseite angezeigten Ergebnissen" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "Zeige ungültige Stücklisten" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "Ausstehende Versandaufträge anzeigen" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "Ausstehende Versandaufträge auf der Startseite anzeigen" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:2330 +#: common/models.py:2332 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:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:2346 +#: common/models.py:2348 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:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:2390 +#: common/models.py:2392 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:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Suche nach Rücksendungen" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "Rücksendungen in der Suchvorschau anzeigen" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "Inaktive Rücksendungen ausblenden" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktive Rücksendungen in der Suchvorschau ausblenden" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:2458 +#: common/models.py:2460 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:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Regex Suche" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "Reguläre Ausdrücke in Suchabfragen aktivieren" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "Ganzes Wort suchen" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "Suchabfragen liefern Ergebnisse für ganze Wortkombinationen" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximale Länge für Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "Fehlerberichte empfangen" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "Benachrichtigungen bei Systemfehlern erhalten" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "Zuletzt verwendete Druckmaschinen" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "Die zuletzt benutzten Druckmaschinen für einen Benutzer speichern" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Benutzer" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Preis" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "Host" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Body" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "ID" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Titel" msgid "Link" msgstr "Link" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Gelesen" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "Wurde diese Nachricht gelesen?" msgid "Image" msgstr "Bild" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Bilddatei" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "Einheitsname muss eine gültige Kennung sein" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "Einheitsname" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "Optionales Einheitssymbol" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definition" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "Einheitsdefinition" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Anhang" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Fehlende Datei" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Fehlender externer Link" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "Upload Datum" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "Datum der hochgeladenen Datei" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "Dateigröße" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "Dateigröße in Bytes" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "Ungültiger Modelltyp für Anhang angegeben" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "Schlüssel" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Neue {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "Eine neue Bestellung wurde erstellt und Ihnen zugewiesen" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "{verbose_name} storniert" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "Eine Bestellung, die Ihnen zugewiesen war, wurde storniert" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "Artikel erhalten" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "Artikel wurden aus einer Bestellung erhalten" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "Artikel wurden aus einer Rücksendung erhalten" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "Fehler in Plugin aufgetreten" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "Wird ausgeführt" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "Anstehende Aufgaben" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "Geplante Aufgaben" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "Fehlgeschlagene Aufgaben" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "Aufgabe-ID" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "Eindeutige Aufgaben-ID" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "Sperren" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "Sperrzeit" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "Aufgabenname" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "Funktion" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "Funktionsname" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "Parameter" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "Aufgaben-Parameter" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "Schlüsselwort Parameter" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "Schlüsselwort Parameter für Aufgaben" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Dateiname" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "Modelltyp" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "Benutzer hat keine Berechtigung, Anhänge für dieses Modell zu erstellen oder zu bearbeiten" @@ -4116,15 +4217,15 @@ msgstr "Übereinstimmende Felder" msgid "Match Items" msgstr "Positionen zuordnen" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "Felder zuteilen fehlgeschlagen" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Teile importiert" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "Internes Teil ist aktiv" msgid "Supplier is Active" msgstr "Lieferant ist aktiv" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Firmen" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Firmenbeschreibung" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "Firmenbeschreibung" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Webseite" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Kontakt-Tel." -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Anlaufstelle" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "Ist dieses Unternehmen aktiv?" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "Ist Kunde" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "Ist Zulieferer" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "Ist Hersteller" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Adresse" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "Adressen" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "Firma auswählen" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "Adresstitel" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "Titel zur Beschreibung des Adresseintrages" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "Primäre Adresse" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "Als primäre Adresse festlegen" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Linie 1" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "Adresszeile 1" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Linie 2" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "Adresszeile 2" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Postleitzahl" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "Stadt/Region" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "Postleitzahl Stadt/Region" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "Staat/Provinz" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "Bundesland" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "Land" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "Adresse Land" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "Versandnotizen" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "Notizen für Versandkurier" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "Interne Versandnotizen" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "Versandnotizen für interne Verwendung" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Teil auswählen" msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Hersteller auswählen" msgid "MPN" msgstr "MPN" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "Teilenummer des Herstellers" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Wert" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Einheiten" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Zuliefererteil" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "Packeinheiten müssen mit den Basisteileinheiten kompatibel sein" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "Packeinheiten müssen größer als Null sein" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "Ist dieser Lieferantenteil aktiv?" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Notiz" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "Teile-Verpackungen" msgid "Pack Quantity" msgstr "Packmenge" -#: company/models.py:860 +#: company/models.py:857 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:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "Vielfache" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "Verfügbare Menge von Lieferanten" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Standard-Währung für diesen Zulieferer" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "Firmenname" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Kunde" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "Bild entfernen" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "Verknüpftes Bild von dieser Firma entfernen" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Entfernen" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "Bild hochladen" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "Bild herunterladen" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Internes Teil" @@ -4838,7 +4939,7 @@ msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "Zuliefererteil entfernen" msgid "No supplier information available" msgstr "Keine Lieferanteninformationen verfügbar" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "Verfügbarkeit der Teile aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Lagerartikel" @@ -5022,99 +5123,107 @@ msgstr "Neuer Kunde" msgid "New Company" msgstr "Neue Firma" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Platziert" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "Ungültiges Exportformat" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "Zeitstempel" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "Zu importierende Datei" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "Spalten" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "Importstatus" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "Standardwerte" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "Wert" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "Fehler" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "Gültig" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "Kopien" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "Anzahl der zu druckenden Kopien für jedes Label" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "Verbunden" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Unbekannt" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "Drucken" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "Keine Medien" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "Verbindung getrennt" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "Etikettendrucker" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "Drucken Sie Etiketten direkt für verschiedene Artikel." -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "Druckerstandort" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "Den Drucker an einen bestimmten Ort aufstellen" @@ -5303,7 +5412,7 @@ msgstr "Maschinenkonfiguration" msgid "Config type" msgstr "Konfigurationstyp" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "Konfigurationstyp" msgid "Total Price" msgstr "Gesamtpreis" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "Hat Preise" msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Bestellung" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "Bestellung abgeschlossen" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "Bestellung ausstehend" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "Rücksendeauftrag" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Auftragswährung" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Währung für diesen Auftrag (leer lassen, um Firmenstandard zu verwenden)" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "Kontakt stimmt nicht mit der ausgewählten Firma überein" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "Auftragsbeschreibung (optional)" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "Projektcode für diesen Auftrag auswählen" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "Ansprechpartner für diesen Auftrag" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "Firmenadresse für diesen Auftrag" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "Empfangen von" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "Versand von" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "Bestellung ist bereits abgeschlossen" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "Bestellung ist bereits storniert" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "Nur ein offener Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:1088 +#: order/models.py:1081 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:1093 +#: order/models.py:1086 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:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1393 +#: order/models.py:1386 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:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "Positionsbeschreibung (optional)" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "Kontext" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "Zuliefererteil" msgid "Received" msgstr "Empfangen" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1536 +#: order/models.py:1529 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:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Versendet" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Lieferdatum" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "Versanddatum" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1973 +#: order/models.py:1966 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:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Position" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Position" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "Rücksendungsreferenz" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "Firma von der die Artikel zurückgeschickt werden" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "Status der Rücksendung" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "Nur serialisierte Artikel können einer Rücksendung zugeordnet werden" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "Artikel zur Rücksendung auswählen" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "Empfangsdatum" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "Das Datum des Empfangs dieses Rücksendeartikels" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "Ergebnis" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "Ergebnis für dieses Zeilenelement" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "Abgeschlossene Positionen" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "Lieferant" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "Automatische Preisgestaltung" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Kaufpreis automatisch basierend auf Lieferantenbestandsdaten berechnen" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "Elemente zusammenfügen" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "Zusammenführen von Elementen mit dem gleichen Teil, Ziel- und Zieldatum zu einem Zeilenelement" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "Position" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Barcode" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "Gescannter Barcode" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" @@ -5910,7 +6019,7 @@ msgstr "Barcode ist bereits in Verwendung" msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" @@ -5922,59 +6031,59 @@ msgstr "Ziel-Lagerort muss angegeben werden" msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "Artikel der Bestellzeile zurücksenden" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "Artikel entspricht nicht der Rücksendeschrift" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "Artikel wurde bereits erhalten" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "Artikel können nur bei laufenden Bestellungen empfangen werden" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "Verkaufspreis-Währung" @@ -5982,7 +6091,7 @@ msgstr "Verkaufspreis-Währung" msgid "Lost" msgstr "Verloren" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Zurückgegeben" @@ -6184,8 +6293,8 @@ msgstr "Auswahl duplizieren" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "Ausstehende Sendungen" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Aktionen" @@ -6401,21 +6510,22 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Version" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Schlüsselwörter" @@ -6427,7 +6537,7 @@ msgstr "Artikelbild" msgid "Category ID" msgstr "Kategorie-ID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "Kategoriename" @@ -6440,11 +6550,11 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -6452,23 +6562,23 @@ msgstr "Minimaler Bestand" msgid "Used In" msgstr "Benutzt in" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Im Bau" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Maximale Kosten" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "Eltern ID" @@ -6481,8 +6591,8 @@ msgstr "Name des übergeordneten Teils" msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "Übergeordnete IPN" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "Oberste Ebene" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "Mehrstufig" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "Übergeordnetes" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "Nach übergeordneter Kategorie filtern" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "Baum ausschließen" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "Unterkategorien in der angegebenen Kategorie ausschließen" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "Ergebnisse" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Kategorie" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "Verwendet" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Gesamtbestand" @@ -6641,421 +6755,421 @@ msgstr "Gesamtbestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "Strukturell" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden." -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "Symbol" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "Symbol (optional)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "Dieses Teil kann nicht gelöscht werden, da es noch aktiv ist" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "Dieses Teil kann nicht gelöscht werden, da es in einem Bauauftrag verwendet wird" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Teil '{self}' kann in der Stückliste nicht für '{parent}' (rekursiv) verwendet werden" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Teil '{parent}' wird in der Stückliste für '{self}' (rekursiv) verwendet" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN muss mit Regex-Muster {pattern} übereinstimmen" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "Artikelbeschreibung (optional)" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 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:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "Verantwortlicher Besitzer für dieses Teil" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "Mindestkosten überschreiben" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "Maximale Kosten überschreiben" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Datum" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Bericht" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ungültiger Vorlagenname - es muss mindestens ein alphanumerisches Zeichen enthalten sein" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" -#: part/models.py:3575 +#: part/models.py:3587 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:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "Testvorlage mit demselben Schlüssel existiert bereits für Teil" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Aktiviert" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Benötigt" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3635 +#: part/models.py:3647 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:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3642 +#: part/models.py:3654 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:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Auswahlmöglichkeiten" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "Gültige Optionen für diesen Test (durch Komma getrennt)" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "Physikalische Einheiten für diesen Parameter" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Checkbox" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "Stufe" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:4266 +#: part/models.py:4279 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:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "überprüft" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:4308 +#: part/models.py:4321 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:4314 +#: part/models.py:4327 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:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4637 +#: part/models.py:4647 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:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -7449,7 +7563,7 @@ msgstr "Ergebnisse" msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" @@ -7457,326 +7571,326 @@ msgstr "Kaufwährung dieses Lagerartikels" msgid "Number of parts using this template" msgstr "Anzahl der Teile, die diese Vorlage verwenden" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "Keine Teile ausgewählt" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "Kategorie auswählen" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Initiale Lagermenge für dieses Teil. Wenn die Menge null ist, wird kein Lagerbestand hinzugefügt." -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Konnte nicht von den angegebenen Währungen in {default_currency} umrechnen" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Herstellbar" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "Inventurinformationen hinzufügen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "Inventur" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physisches Teil)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "Teildetails anzeigen" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "Zu Bauaufträgen zugeordnet" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "Zur Bestellung zugeordnet" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "Minimaler Bestand" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "Preisspanne" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "letzte Seriennummer" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "Nach Seriennummer suchen" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "QR-Code Teil" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "Barcode mit Teil verknüpfen" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "Verknüpftes Bild von diesem Teil entfernen" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "Keine passenden Bilder gefunden" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "Teildetails ausblenden" @@ -8288,7 +8406,7 @@ msgstr "Varianten" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -8330,11 +8448,11 @@ msgstr "Artikelpreise überschreiben" msgid "Edit" msgstr "Bearbeiten" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -8498,8 +8616,8 @@ msgstr "Keine Aktion angegeben" msgid "No matching action found" msgstr "Keine passende Aktion gefunden" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Keine Treffer für Barcode" @@ -8524,52 +8642,52 @@ msgstr "Barcode entspricht einem bereits vorhandenen Artikel" msgid "No matching part data found" msgstr "Keine passenden Teiledaten gefunden" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "Keine passenden Zulieferteile gefunden" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "Mehrere passende Zulieferteile gefunden" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "Zulieferteil zugeordnet" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "Artikel wurde bereits erhalten" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "Keine Übereinstimmung für Zulieferbarcode" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "Mehrere passende Elemente gefunden" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "Kein passendes Element gefunden" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "Barcode stimmt nicht mit einem vorhandenen Lagerartikel überein" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "Lagerartikel stimmt nicht mit dem Element überein" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "Lagerartikel der Bestellung zugeordnet" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "Nicht genügend Informationen" @@ -8591,15 +8709,15 @@ msgstr "Keine passende Bestellung für '{order}'" msgid "Purchase order does not match supplier" msgstr "Bestellung entspricht nicht dem Lieferanten" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "Ausstehender Artikel für Lieferantenteil konnte nicht gefunden werden" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "Weitere Informationen zum Empfang des Zeilenelements erforderlich" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "Erhaltene Bestellartikel" @@ -8756,7 +8874,7 @@ msgstr "Eingehender Webhook-URL für Slack" msgid "URL that is used to send messages to a slack channel" msgstr "URL, die verwendet wird, um Nachrichten an einen Slack-Kanal zu senden" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "Link öffnen" @@ -8894,7 +9012,7 @@ msgstr "Unterstützt das Scannen von TME-Barcodes" msgid "The Supplier which acts as 'TME'" msgstr "Der Lieferant, der als 'TME' fungiert" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "Nur Mitarbeiter können Plugins verwalten" @@ -8902,36 +9020,36 @@ msgstr "Nur Mitarbeiter können Plugins verwalten" msgid "Plugin installation is disabled" msgstr "Plugin-Installation ist deaktiviert" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "Plugin wurde erfolgreich installiert" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Plugin installiert in {path}" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "Plugin wurde nicht in der Registry gefunden" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "Plugin ist kein gepacktes Plugin" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "Plugin-Paketname nicht gefunden" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "Plugin-Deinstallation ist deaktiviert" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "Plugin kann nicht deinstalliert werden, da es momentan aktiv ist" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "Plugin erfolgreich deinstallieren" @@ -8943,10 +9061,6 @@ msgstr "Plugin-Konfiguration" msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "Schlüssel" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "Schlüssel des Plugins" @@ -8994,7 +9108,7 @@ msgstr "Plugin" msgid "Method" msgstr "Methode" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "Kein Autor gefunden" @@ -9091,43 +9205,43 @@ msgstr "Installation nicht bestätigt" msgid "Either packagename of URL must be provided" msgstr "Entweder Paketname oder URL muss angegeben werden" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "Komplett neu laden" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "Führe ein vollständiges Nachladen der Plugin-Registrierung durch" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "Neuladen erzwingen" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "Erzwinge ein erneutes Laden der Plugin-Registrierung, auch wenn sie bereits geladen ist" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "Plugins sammeln" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "Plugins sammeln und zur Registrierung hinzufügen" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "Plugin aktivieren" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "Dieses Plugin aktivieren" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "Konfiguration löschen" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "Plugin-Konfiguration aus der Datenbank löschen" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "Fortschritt" @@ -9403,7 +9517,7 @@ msgstr "Testergebnisse" msgid "Test" msgstr "Test" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "Ergebnis" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "Kein Ergebnis" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Verbaute Objekte" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Seriennummer" @@ -9450,7 +9564,7 @@ msgstr "part_image tag benötigt eine Bauteilinstanz" msgid "company_image tag requires a Company instance" msgstr "company_image tag erfordert eine Firmeninstanz" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "Standort-ID" @@ -9459,58 +9573,58 @@ msgstr "Standort-ID" msgid "Location Path" msgstr "Lagerortpfad" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "Lagerartikel ID" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "Statuscode" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "Zuliefererteil-ID" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "Zulieferer ID" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "Kunden ID" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "verbaut in" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "Bauauftrag-ID" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "Auftrags-ID" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "Bestellungs-ID" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Überprüfung erforderlich" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Löschen wenn leer" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "Unterorte in gefilterte Ergebnisse einbeziehen" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "Übergeordneter Ort" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "Filtern nach übergeordnetem Ort" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "Teile-Baum" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "Gültigkeitsdauer vor" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "Gültigkeitsdauer nach" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "überfällig" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Das Zulieferteil hat eine Packungsgröße definiert, aber das Kennzeichen use_pack_size ist nicht gesetzt" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "Lagerstandort Typ" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "Lagerstandorte Typen" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Standardsymbol für alle Orte, die kein Icon gesetzt haben (optional)" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Bestand-Lagerorte" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "Extern" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "Dies ist ein externer Lagerort" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "Standorttyp" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "Standortart dieses Standortes" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich bereits Lagerartikel darin befinden!" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Artikeltyp ('{self.supplier_part.part}') muss {self.part} sein" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "Teil muss eine Referenz haben wenn is_building wahr ist" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Verbraucht von" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "Bauauftrag der diesen Lagerartikel verbrauchte" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Menge darf die verfügbare Lagermenge ({self.quantity}) nicht überschreiten" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "Testvorlage existiert nicht" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "Test Notizen" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "Teststation" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "Der Bezeichner der Teststation, in der der Test durchgeführt wurde" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "Gestartet" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "Der Zeitstempel des Teststarts" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "Fertiggestellt" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "Der Zeitstempel der Test-Beendigung" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "Testvorlage für dieses Ergebnis" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "Vorlagen-ID oder Testname muss angegeben werden" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "Die Test-Endzeit kann nicht früher als die Startzeit des Tests sein" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "Seriennummer ist zu lang" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "Elternposition" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Packungsgröße beim Hinzufügen verwenden: Die definierte Menge ist die Anzahl der Pakete" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "abgelaufen" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "Untergeordnete Objekte" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "Zu installierende Menge" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "Anzahl der zu verwendenden Artikel eingeben" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "Die zu verwendende Menge muss mindestens 1 sein" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "Die zu verwendende Menge darf die verfügbare Menge nicht überschreiten" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "Wählen Sie einen Teil aus, zu dem dieser Lagerartikel geändert werden soll" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "Das ausgewählte Teil ist keine gültige Option für die Umwandlung" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Lagerartikel konnte nicht mit Zulieferteil zugewiesen werden" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "Ziel Lagerort für zurückgegebene Artikel" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "Lagerartikel auswählen, um den Status zu ändern" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "Keine Lagerartikel ausgewählt" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "Keine Änderung" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "Lagerartikel Status-Code" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -10175,107 +10289,107 @@ msgstr "Zurückgewiesen" msgid "Quarantined" msgstr "In Quarantäne" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Alter Bestand-Verfolgungs-Eintrag" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Lagerartikel erstellt" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Lagerartikel bearbeitet" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Seriennummer hinzugefügt" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Bestand gezählt" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Bestand manuell hinzugefügt" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Bestand manuell entfernt" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Standort geändert" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Lagerbestand aktualisiert" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "In Baugruppe installiert" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Aus Baugruppe entfernt" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Komponente installiert" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Komponente entfernt" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Vom übergeordneten Element geteilt" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Unterobjekt geteilt" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "In Variante umgewandelt" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Endprodukt erstellt" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Endprodukt fertiggestellt" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Endprodukt abgelehnt" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Durch Bauauftrag verbraucht" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Versandt gegen Verkaufsauftrag" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Gegen Bestellung empfangen" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Zurückgeschickt gegen Rücksendeauftrag" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Zum Kunden geschickt" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Rücksendung vom Kunden" @@ -10316,7 +10430,7 @@ msgstr "Lagerartikel-Notizen" msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "Lagerartikel installieren" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "Bestand verschieben" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Kunden zuweisen" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "Lagerartikel löschen" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Bauauftrag" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "Zur nächsten Seriennummer wechseln" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Kein Lagerort gesetzt" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "Lagerartikel" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Neuer Lagerort" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "Lagerort" @@ -11109,7 +11223,7 @@ msgstr "Bewerten" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Löschen" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "Keine Projektcodes gefunden" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "gruppieren" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "Bei den folgenden Teilen gibt es wenige Lagerartikel" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -12156,7 +12270,7 @@ msgstr "Stückliste für Bauteile laden" msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "Alternatives Lager erlaubt" @@ -12176,30 +12290,30 @@ msgstr "Stücklistenpreise sind vollständig" msgid "No pricing available" msgstr "Keine Preisinformation verfügbar" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "Externes Lager" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "Alternatives Lager und Ersatzteillager einschließen" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "Alternatives Lager einschließen" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "Ersatzteillager einschließen" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "Verbrauchsartikel" @@ -12231,7 +12345,7 @@ msgstr "Stückliste anzeigen" msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "Benötigtes Teil" @@ -12243,396 +12357,396 @@ msgstr "Von übergeordneter Stückliste geerbt" msgid "Edit Build Order" msgstr "Bauauftrag bearbeiten" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "Bauauftrag erstellen" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "Bauauftrag abbrechen" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "Sind Sie sicher, dass sie diesen Bauauftrag abbrechen möchten?" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "Lagerartikel wurden zu diesem Bauauftrag hinzugefügt" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "Es sind noch unvollständige Artikel für diesen Bauauftrag vorhanden" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "Bauauftrag ist bereit abgeschlossen zu werden" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "Dieser Bauauftrag kann nicht abgeschlossen werden, da es unfertige Endprodukte gibt" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "Bauauftrag ist unvollständig" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "Bauauftrag fertigstellen" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "Nächste verfügbare Seriennummer" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "Letzte Seriennummer" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "Die Stückliste enthält verfolgbare Teile" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "Endprodukte müssen individuell angelegt werden" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "Nachverfolgbare Teile können Seriennummern haben" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Seriennummern für mehrere einzelne Endprodukte angeben" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "Endprodukt anlegen" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "Lagerartikel zu diesem Endprodukt zuweisen" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "Bestand von Endprodukt entfernen" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "Endprodukt fertigstellen" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "Ausschuss Endprodukt" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "Endprodukt entfernen" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "Sind Sie sicher, dass sie alle Lagerartikel von diesem Bauauftrag entfernen möchten?" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "Lagerartikel entfernen" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "Endprodukte auswählen" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "Mindestens ein Endprodukt muss ausgewählt werden" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "Ausgewählte Endprodukte werden als vollständig markiert" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "Endprodukt" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "Endprodukte fertigstellen" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "Ausgewählte Endprodukte werden als Ausschuss markiert" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "Ausschuss wird als verworfen markiert" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "Zugewiesene Lagerbestände werden nicht mehr verfügbar sein" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "Der Fertigstellungsstatus des Bauauftrags wird nicht angepasst" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "Ausschuss Endprodukte" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "Ausgewählte Endprodukte werden gelöscht" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "Endprodukte werden dauerhaft gelöscht" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "Zugewiesene Lagerartikel werden in den Bestand zurückgeführt" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "Endprodukte entfernen" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "Keine Allokationen für Bauauftrag gefunden" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "Standort nicht angegeben" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "Endprodukte fertigstellen" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "Ausschuss" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "Endprodukte löschen" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "Endprodukt" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "Endprodukte" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "Endprodukt-Aktionen" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "Keine aktiven Endprodukte gefunden" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "Zugewiesene Positionen" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "Erforderliche Prüfungen" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "Teile auswählen" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "Sie müssen mindestens einen Teil für die Zuweisung auswählen" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "Alle Teile zugeordnet" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "Wählen Sie den Quellort aus (leer lassen, um von allen Standorten zu nehmen)" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "Lagerartikel für Bauauftrag zuweisen" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "Keine passenden Lagerstandorte" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "Keine passenden Lagerartikel" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "Automatische Lagerzuordnung" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Lagerartikel werden automatisch diesem Bauauftrag zugewiesen, entsprechend den angegebenen Richtlinien" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Wenn ein Lagerort angegeben ist, wird der Lagerbestand nur von diesem Ort zugewiesen" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Wenn der Lagerbestand als austauschbar gilt, wird er vom ersten Standort zugewiesen, an dem er gefunden wird" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Wenn ein Ersatzlager zugelassen ist, wird dieses verwendet, wenn das Primärteil nicht vorrätig ist" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "Lagerartikel zuordnen" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "Keine Bauaufträge zur Suchanfrage" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "Auswählen" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "Bauauftrag ist überfällig" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "Zuordnung bearbeiten" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "Zuordnung entfernen" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "Bauauftragsposition" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "Bauauftragspositionen" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "Keine Bauauftragspositionen gefunden" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "Menge" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "Ausreichender Bestand vorhanden" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "Verbrauchsartikel" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "Verfolgtes Objekt" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "Zuweisung von nachverfolgbaren Artikeln zu einzelnen Bauprodukten" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "Bestand bauen" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "Bestand zuweisen" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "Bestands-Zuordnung löschen" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "Keine Kategorien" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "Als Liste anzeigen" @@ -13431,7 +13545,7 @@ msgstr "Als Raster anzeigen" msgid "No subcategories found" msgstr "Keine Unterkategorien gefunden" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "Als Baum anzeigen" @@ -14284,7 +14398,7 @@ msgstr "Entnehmen" msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Hinzufügen" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "Lagerartikel auswählen" @@ -14388,216 +14502,216 @@ msgstr "Auftrag zugewiesen" msgid "No stock location set" msgstr "Kein Lagerort gesetzt" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "Bestandsstatus ändern" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "Bestand zusammenführen" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "Lagerartikel" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "Zu Lagerort einscannen" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "Lager-Aktionen" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "Installierte Artikel laden" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "Lagerartikel wird produziert" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "Lagerartikel wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "Lagerartikel wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "Serialisierter Lagerartikel wurde zugewiesen" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "Lagerartikel wurde vollständig zugewiesen" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "Lagerartikel wurde teilweise zugewiesen" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "Lagerartikel in anderem Artikel verbaut" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "Lagerbestand wurde durch einen Bauauftrag verbraucht" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "Lagerartikel ist abgelaufen" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "Lagerartikel läuft demnächst ab" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "Lagerartikel wurde zurückgewiesen" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "Lagerartikel ist verloren" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "Lagerartikel ist zerstört" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "Aufgebraucht" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "Bestandswert" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel gefunden" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "Lagerorte" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "Untergeordnete Lagerorte laden" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "Details" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "Keine Änderungen" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "Teileinformationen nicht verfügbar" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "Lagerort existiert nicht mehr" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "Bauauftrag existiert nicht mehr" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "Auftrag existiert nicht mehr" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "Rücksendebestellung existiert nicht mehr" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "Keine installierten Artikel" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "Lagerartikel deinstallieren" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "Zu deinstallierende Lagerartikel auswählen" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "Einen anderen Lagerartikel in dieses Teil installieren" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Der Lagerartikel ist mit einem Teil verknüpft das in der Stückliste für diesen Lagerartikel ist" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "Dieser Lagerartikel ist aktuell vorhanden" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "Teil zur Installation auswählen" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "Wählen Sie einen oder mehrere Bestandteile aus" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "Lagerartikel auswählen" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "Bestandsstatus ändern" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Ja" msgid "No" msgstr "Nein" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Benutzer" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "Welche Benutzer gehören zu dieser Gruppe" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "Folgende Benutzer gehören zu mehreren Gruppen" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Persöhnliche Informationen" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Berechtigungen" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "wichtige Daten" @@ -15205,35 +15319,35 @@ msgstr "Das letzte Mal, wo das Token verwendet wurde" msgid "Revoked" msgstr "Widerrufen" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Gruppe" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Ansicht" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Ändern" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 4fc2989b76..0ebd3e06c4 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: el\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Η μονάδα μέτρησης δεν είναι έγκυρη ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Δεν εισήχθη τιμή" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Δεν ήταν δυνατή η μετατροπή από {original} σε {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Δόθηκε μη έγκυρη ποσότητα" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Δόθηκε μη έγκυρη ποσότητα ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Εισάγετε ημερομηνία" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Σημειώσεις" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Η τιμή '{name}' δεν εμφανίζεται σε μορφή μοτίβου" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Η παρεχόμενη τιμή δεν ταιριάζει με το απαιτούμενο απαραραίητη μοτίβο: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Η παρεχόμενη κύρια διεύθυνση ηλεκτρονικού ταχυδρομείου δεν είναι έγκυρη." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυδρομείου δεν έχει εγκριθεί." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Η εγγραφή είναι απενεργοποιημένη." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Κενό σειριακό αριθμό συμβολοσειράς" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Διπλότυπο serial number" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Μη έγκυρο εύρος ομάδας: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Το εύρος της ομάδας {group} υπερβαίνει την επιτρεπόμενη ποσότητα ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Μη έγκυρη ακολουθία ομάδας: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Δεν βρέθηκαν σειριακοί αριθμοί" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Ο αριθμός μοναδικών σειριακών αριθμών ({len(serials)}) πρέπει να αντιστοιχεί στην ποσότητα ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Σφάλμα σύνδεσης" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Ο διακομιστής απάντησε με μη έγκυρο κωδικό κατάστασης" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Προέκυψε σφάλμα" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Ο διακομιστής ανταποκρίθηκε με \"Invalid Content-Length value\"" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Η εικόνα είναι πολύ μεγάλη σε μέγεθος" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Η λήψη εικόνας ξεπέρασε το μέγιστο μέγεθος" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας" @@ -364,8 +364,8 @@ msgstr "Κινέζικα (Παραδοσιακά)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Σύνδεση στην εφαρμογή" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Μεταδεδομένα Πρόσθετου" msgid "JSON metadata field, for use by external plugins" msgstr "JSON πεδίο μεταδεδομένων, για χρήση από εξωτερικά πρόσθετα" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Λανθασμένο μοτίβο" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Δώσατε λάθος μορφή κλειδιού" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Λείπει το απαραίτητο κλειδί" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Το πεδίο δεν μπορεί να είναι άδειο" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Η αναφορά πρέπει να ταιριάζει με το απαιτούμενο μοτίβο" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Ο αριθμός αναφοράς είναι πολύ μεγάλος" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχουν στον ίδιο γονέα" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Μη έγκυρη επιλογή" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Όνομα" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Περιγραφή" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Μονοπάτι" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Σημειώσεις Markdown (προαιρετικό)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Στοιχεία Barcode" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Δεδομένα barcode τρίτων" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Μοναδικό hash δεδομένων barcode" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Βρέθηκε υπάρχων barcode" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Σφάλμα διακομιστή" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Νόμισμα" msgid "Select currency from available options" msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Δεν έχετε άδεια να αλλάξετε αυτόν τον ρόλο χρήστη." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Μόνο υπερχρήστες (superusers) μπορούν να δημιουργήσουν νέους χρήστες" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Ο λογαριασμός σας δημιουργήθηκε." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Παρακαλούμε χρησιμοποιήστε τη λειτουργία επαναφοράς κωδικού πρόσβασης για να συνδεθείτε" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Καλώς ήρθατε στο InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Αρχείο Δεδομένων" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Επιλέξτε ένα αρχείο για ανέβασμα" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Μη υποστηριζόμενος τύπος αρχείου" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Το αρχείο είναι πολύ μεγάλο" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Δεν βρέθηκαν στήλες στο αρχείο" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Δεν παρασχέθηκαν σειρές δεδομένων" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Δεν δόθηκαν στήλες δεδομένων" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Λείπει απαιτούμενη στήλη: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Διπλή στήλη: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Απομακρυσμένες Εικόνες" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Δεν έχει ρυθμιστεί διεύθυνση ηλεκτρονικού ταχυδρομείου" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Ο έλεγχος συστήματος για το Inventree απέτυχε" @@ -691,122 +691,122 @@ msgstr "Μη έγκυρη φυσική μονάδα" msgid "Not a valid currency code" msgstr "Μη έγκυρος κωδικός συναλλάγματος" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Η μέση τιμή δεν πρέπει να είναι αρνητική" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Η μέση τιμή δεν πρέπει να υπερβαίνει το 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Μη έγκυρη τιμή για υπέρβαση" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Τροποποίηση πληροφοριών χρήστη" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Ορισμός Κωδικού Πρόσβασης" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Τα πεδία κωδικού πρόσβασης πρέπει να ταιριάζουν" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Δόθηκε λάθος κωδικός πρόσβασης" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Πληροφορίες συστήματος" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Σχετικά με το InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Εκδόθηκε από" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Προαιρετικό" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Υπό παρακολούθηση" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Κατανεμημένο" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Κατανεμημένο" msgid "Available" msgstr "Διαθέσιμο" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Σειρά Κατασκευής" msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Εξάρτημα από εντολή κατασκευής δεν μπορεί να αλλάξει" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" msgid "Reference" msgstr "Αναφορά" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Σύντομη περιγραφή της κατασκευής (προαιρετικό)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Εξάρτημα" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Επιλέξτε τμήμα για κατασκευή" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Κωδικός Παραγγελίας Πωλήσεων" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Επιλέξτε τοποθεσία από την οποία θα γίνει απόθεμα, για αυτή την κατασκευή (αφήστε κενό για να πάρετε από οποιαδήποτε θέση αποθήκευσης)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Τοποθεσία Προορισμού" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Επιλέξτε την τοποθεσία όπου θα αποθηκευτούν τα ολοκληρωμένα στοιχεία" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Ποσότητα Κατασκευής" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Αριθμός αντικειμένων για κατασκευή" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Ολοκληρωμένα αντικείμενα" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Αριθμός αντικειμένων αποθέματος που έχουν ολοκληρωθεί" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Κατάσταση Κατασκευής" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Εκδόθηκε από" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Υπεύθυνος" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την εντολή κατασκευής" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Προτεραιότητα Κατασκευής" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Προτεραιότητα αυτής της εντολής κατασκευής" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Προτεραιότητα αυτής της εντολής κατασκ msgid "Project Code" msgstr "Κωδικός Έργου" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Κωδικός έργου για αυτήν την εντολή κατασκευής" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Η ποσότητα δεν μπορεί να είναι μεγαλύτερη από την παραγόμενη ποσότητα" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Το προϊόν κατασκευής {serial} δεν έχει περάσει όλες τις απαιτούμενες δοκιμές" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Αντικείμενο κατασκευής" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Αντικείμενο κατασκευής" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Αντικείμενο κατασκευής" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Απαιτούμενη ποσότητα για την εντολή κατασκευής" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Κατασκευή Εξόδου" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Εισάγετε ποσότητα για την έξοδο κατασκ #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Τοποθεσία" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "Αυτόματη κατανομή των απαιτούμενων στοιχείων με τους αντίστοιχους σειριακούς αριθμούς" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "Οι παρακάτω σειριακοί αριθμοί υπάρχουν ήδη ή δεν είναι έγκυροι" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Πρέπει να παρέχεται μια λίστα με τα αποτελέσματα κατασκευής" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Θέση αποθέματος για απορριφθείσες παραγωγές" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Απόρριψη Κατανομών" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Απορρίψτε τυχόν κατανομές αποθέματος για παραγωγές που έχουν απορριφθεί" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Αιτία απόρριψης προϊόντων κατασκευής" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κατασκευής" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Κατάσταση" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Αποδοχή Ελλιπούς Δέσμευσης" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Ολοκλήρωσε τα προϊόντα εάν το απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Αφαίρεση Ατελείωτων Προϊόντων" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Διαγράψτε τυχόν προϊόντα κατασκευής που δεν έχουν ολοκληρωθεί" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Δεν επιτρέπεται" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Αποδοχή ως κατανάλωση για αυτή την παραγγελία κατασκευής" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Αποδέσμευση πριν από την ολοκλήρωση αυτής της παραγγελίας κατασκευής" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Υπερ-δεσμευμένο Απόθεμα" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Πώς θέλετε να χειριστείτε το επιπλέον απόθεμα που έχει δεσμευτεί στην παραγγελία κατασκευής" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Μερικά στοιχεία αποθέματος έχουν υπερ-δεσμευτεί" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Αποδοχή Μη Δεσμευμένων" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Αποδεχτείτε ότι αντικείμενα αποθέματος δεν έχουν δεσμευτεί πλήρως σε αυτή την παραγγελία κατασκευής" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Το απαιτούμενο απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Αποδοχή Μη Ολοκληρωμένων" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Αποδεχτείτε ότι ο απαιτούμενος αριθμός προϊόντων κατασκευής δεν έχει ολοκληρωθεί" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Ο απαιτούμενος αριθμός προϊόντων δεν έχει ολοκληρωθεί" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "Η παραγγελία κατασκευής έχει ελλιπή προϊόντα" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Γραμμή Κατασκευής" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Προϊόν Κατασκευής" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "Το προϊόν κατασκευής πρέπει να δείχνει στην ίδια κατασκευή" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Αντικείμενο Γραμμής Κατασκευής" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Ακυρώθηκε" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Ολοκληρώθηκε" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Το Απόθεμα δεν έχει κατανεμηθεί πλήρως σε αυτή την Εντολή Κατασκευής" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Ολοκληρωμένα Προϊόντα" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Ολοκληρωμένα Προϊόντα" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Εντολές Πώλησης" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Προτεραιότητα" @@ -1968,7 +1977,7 @@ msgstr "Προέλευση Αποθέματος" msgid "Stock can be taken from any available location." msgstr "Το απόθεμα μπορεί να ληφθεί από οποιαδήποτε διαθέσιμη τοποθεσία." -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Προορισμός" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Χρήστης" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "Σύνδεσμος" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Συνημμένο" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Το αρχείο λείπει" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Σχόλιο" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Όνομα αρχείου" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Τοποθετήθηκε" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Αποστάλθηκε" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Χάθηκε" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Επιστράφηκε" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Απορρίφθηκε" msgid "Quarantined" msgstr "Σε Καραντίνα" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Καταχώρηση παλαιού αποθέματος" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Το αντικείμενο αποθεμάτων δημιουργήθηκε" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Έγινε συγχώνευση αποθεμάτων" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Εκχωρημένος σειριακός κωδικός" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Απόθεμα που μετρήθηκε" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Προστέθηκε απόθεμα χειροκίνητα" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Αφαιρέθηκε απόθεμα χειροκίνητα" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Η τοποθεσία τροποποιήθηκε" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Το απόθεμα ενημερώθηκε" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Εγκαταστάθηκε στη συναρμολόγηση" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Αφαιρέθηκε από τη συναρμολόγηση" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Εγκαταστάθηκε αντικείμενο" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Αφαιρέθηκε αντικείμενο" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχείο" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Διαχωρίστηκε θυγατρικό στοιχείο" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Έγινε συγχώνευση αποθεμάτων" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Μετατράπηκε σε παραλλαγή" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Δημιουργήθηκε η έξοδος παραγγελίας" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Η έξοδος της σειράς κατασκευής ολοκληρώθηκε" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Η εντολή κατασκευής απορρίφθηκε" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Κατανάλωση με εντολή κατασκευής" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Αποστολή έναντι Εντολής Πώλησης" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Λήφθηκε έναντι Εντολής Αγοράς" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Επιστράφηκε έναντι Εντολής Αγοράς" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Απεστάλη στον πελάτη" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Επιστράφηκε από πελάτη" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Κατασκευή" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 7821b27066..f57ffe2c72 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 08:21+0000\n" +"POT-Creation-Date: 2024-08-27 23:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,56 +22,56 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -80,16 +80,16 @@ msgstr "" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -133,82 +133,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -365,8 +365,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -388,42 +388,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -436,29 +436,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -472,58 +472,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -533,49 +533,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -586,97 +586,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -692,122 +692,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -817,16 +817,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -837,43 +837,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -881,23 +881,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -908,17 +908,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -935,157 +935,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1094,66 +1094,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1162,16 +1162,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1190,47 +1190,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1238,91 +1238,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1330,297 +1338,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1631,89 +1639,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1733,23 +1742,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1878,13 +1887,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1917,8 +1926,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1928,12 +1937,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1969,7 +1978,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1982,13 +1991,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1998,7 +2007,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2121,7 +2130,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2140,19 +2149,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2210,1631 +2219,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3845,28 +3854,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3876,200 +3885,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4117,15 +4218,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4156,214 +4257,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4373,13 +4474,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4388,72 +4489,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4466,56 +4567,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4525,43 +4626,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4631,16 +4732,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4654,7 +4755,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4663,19 +4764,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4828,8 +4929,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4839,7 +4940,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4929,8 +5030,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4984,16 +5085,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5023,99 +5124,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5167,19 +5276,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5203,52 +5312,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5304,7 +5413,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5313,7 +5422,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5346,232 +5455,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5581,329 +5690,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5911,7 +6020,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5923,59 +6032,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5983,7 +6092,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6185,8 +6294,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6371,7 +6480,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6402,21 +6511,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6428,7 +6538,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6441,11 +6551,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6453,23 +6563,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6482,8 +6592,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6510,13 +6620,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6546,94 +6656,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6642,421 +6756,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7064,367 +7178,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7450,7 +7564,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7458,326 +7572,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7933,9 +8047,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8175,61 +8289,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8289,7 +8407,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8331,11 +8449,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8499,8 +8617,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8525,52 +8643,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8592,15 +8710,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8757,7 +8875,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8895,7 +9013,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8903,36 +9021,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8944,10 +9062,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8995,7 +9109,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9092,43 +9206,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9265,7 +9379,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9404,7 +9518,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9425,13 +9539,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9451,7 +9565,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9460,58 +9574,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9527,628 +9641,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10176,107 +10290,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10317,7 +10431,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10372,7 +10486,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10413,7 +10527,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10471,7 +10585,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10498,7 +10612,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10607,7 +10721,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11110,7 +11224,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11131,7 +11245,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11788,7 +11902,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12157,7 +12271,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12177,30 +12291,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12232,7 +12346,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12244,396 +12358,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13420,7 +13534,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13432,7 +13546,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14285,7 +14399,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14309,7 +14423,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14389,216 +14503,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15142,27 +15256,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15206,34 +15320,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 0594d1a455..3475b3ce7c 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: es-ES\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "endpoint API no encontrado" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Ningún valor proporcionado" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "No se pudo convertir {original} a {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "La cantidad suministrada es inválida" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "La cantidad suministrada es inválida ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Detalles del error pueden encontrarse en el panel de administración" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Ingrese la fecha" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Ingrese la fecha" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Notas" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "El valor '{name}' no aparece en formato de patrón" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "El valor proporcionado no coincide con el patrón requerido: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "La dirección de correo electrónico principal proporcionada no es válida." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "El dominio de correo electrónico proporcionado no está aprobado." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Registro deshabilitado." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "No se ha proporcionado un número de serie" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Serie duplicada" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Rango de grupo inválido: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Rango del grupo {group} supera la cantidad permitida ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Secuencia de grupo inválida: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Numeros de serie no encontrados" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Los números de serie únicos ({len(serials)}) debe coincidir con la cantidad ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Eliminar etiquetas HTML de este valor" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Error de conexión" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "El servidor respondió con código de estado no válido" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Se ha producido una excepción" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "El servidor respondió con un valor de longitud de contenido inválido" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "El tamaño de la imagen es demasiado grande" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "La descarga de imagen excedió el tamaño máximo" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "El servidor remoto devolvió una respuesta vacía" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" @@ -364,8 +364,8 @@ msgstr "Chino (Tradicional)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -373,7 +373,7 @@ msgstr "Correo electrónico" #: InvenTree/models.py:103 msgid "Error running plugin validation" -msgstr "" +msgstr "Error al ejecutar la validación del plug-in" #: InvenTree/models.py:172 msgid "Metadata must be a python dict object" @@ -387,42 +387,42 @@ msgstr "Metadatos del complemento" msgid "JSON metadata field, for use by external plugins" msgstr "Campo de metadatos JSON, para uso por complementos externos" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Patrón con formato incorrecto" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Clave de formato especificado desconocida" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Falta la clave de formato necesaria" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "El campo de servidor no puede estar vacío" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "La referencia debe coincidir con la expresión regular {pattern}" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "El número de referencia es demasiado grande" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Selección no válida" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Nombre" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Ruta" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Notas de Markdown (opcional)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Datos de código de barras" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Datos de código de barras de terceros" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Hash del Código de barras" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Error de servidor" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Moneda" msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Nombre de usuario" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Nombre" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Apellido" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "Activo" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "No tiene permiso para cambiar este rol de usuario." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Solo los superusuarios pueden crear nuevos usuarios" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Su cuenta ha sido creada." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Bienvenido a InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Archivo de datos" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Seleccione el archivo para subir" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Tipo de archivo no soportado" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "El archivo es demasiado grande" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "No hay columnas en el archivo" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "No hay filas de datos en el archivo" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "No se proporcionaron filas de datos" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "No hay columnas de datos proporcionadas" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta la columna requerida: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Columna duplicada: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Imagen remota" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL de imagen remota" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "No se ha configurado el backend de correo" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Las comprobaciones de estado del sistema InvenTree fallaron" @@ -691,122 +691,122 @@ msgstr "Unidad física inválida" msgid "Not a valid currency code" msgstr "No es un código de moneda válido" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "El valor excedente no debe ser negativo" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "El excedente no debe superar el 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Valor no válido para sobrecarga" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Editar datos del usuario" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Configurar contraseña" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Los campos de contraseña deben coincidir" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Contraseña incorrecta proporcionada" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Información del sistema" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Acerca de InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Emitido por" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Consumible" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Opcional" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Montaje" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Rastreado" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Asignadas" msgid "Available" msgstr "Disponible" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Construir órden" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Construir órden" msgid "Build Orders" msgstr "Construir órdenes" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Opción no válida para la construcción padre" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" -msgstr "" +msgstr "Se debe especificar un usuario o grupo responsable" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "La parte del pedido de construcción no puede ser modificada" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Número de orden de construcción o armado" msgid "Reference" msgstr "Referencia" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Breve descripción de la construcción (opcional)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Orden de Construcción o Armado a la que se asigna" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Parte" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Seleccionar parte a construir o armar" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Referencia de orden de venta" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Orden de Venta a la que se asigna" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Ubicación de la fuente" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleccione la ubicación de donde tomar stock para esta construcción o armado (deje en blanco para tomar desde cualquier ubicación)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Ubicación de destino" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Seleccione la ubicación donde se almacenarán los artículos completados" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Cantidad a crear" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Número de objetos existentes a construir" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Elementos completados" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Número de productos en stock que se han completado" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Estado de la construcción" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Numero de lote" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Fecha de Creación" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Fecha límite de finalización" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Fecha de finalización" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "terminado por" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Responsable" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Usuario o grupo responsable de esta orden de construcción" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Link externo" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Enlace a URL externa" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Prioridad de construcción" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Prioridad de esta orden de construcción" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Prioridad de esta orden de construcción" msgid "Project Code" msgstr "Código del proyecto" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Código de proyecto para esta orden de ensamble" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "El pedido {build} ha sido procesado" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:973 +#: build/models.py:974 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:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Ensamblar equipo" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Ensamblar equipo" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Cantidad requerida para orden de ensamble" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1675 +#: build/models.py:1676 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:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Artículo de stock de destino" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Nombre de parte" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "La salida de construcción no coincide con la construcción padre" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "La parte de salida no coincide con la parte de la Orden de Construcción" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Esta salida de construcción ya ha sido completada" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Esta salida de construcción no está completamente asignada" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Ingrese la cantidad para la producción de la construcción" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Cantidad entera requerida para partes rastreables" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Números de serie" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Introduzca los números de serie de salidas de construcción" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Ubicación" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Autoasignar Números de Serie" -#: build/serializers.py:331 +#: build/serializers.py:375 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:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Ubicación de almacén para salidas descartadas" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Descartar asignaciones" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar cualquier asignación de existencias para las salidas descartadas" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Razón para descartar la salida de ensamble(s)" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Estado" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Aceptar Asignación Incompleta" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completar salidas si el inventario no se ha asignado completamente" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Eliminar salidas incompletas" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Eliminar cualquier salida de construcción que no se haya completado" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "No permitido" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Aceptar como consumido por este pedido de construcción" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Liberar antes de completar esta orden de construcción" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Stock sobreasignado" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de inventario han sido sobreasignados" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Aceptar incompleto" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceptar que el número requerido de salidas de construcción no se han completado" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "La cantidad de construcción requerida aún no se ha completado" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Linea de ensamble" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "La salida de la construcción debe apuntar a la misma construcción" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Crear partida" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcción" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Cantidad disponible ({q}) excedida" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Excluir artículos de stock de esta ubicación seleccionada" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Stock intercambiable" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Sustituir stock" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Permitir la asignación de partes sustitutas" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Elementos opcionales" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Asignar artículos de la BOM opcionales para construir la orden" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Número de parte de fabricante" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "Nombre de localización" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Paquetes" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID de Parte" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "IPN de la parte" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Descripción de parte" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Número de serie" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "Cantidad disponible" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Rastreable" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Stock Asignado" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "En pedido" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Stock Disponible" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Cancelado" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Terminado" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Stock requerido para la orden de construcción" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Orden de construcción atrasada" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "El pedido de construcción {bo} está atrasado" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stock no ha sido asignado completamente a este pedido de construcción" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Salidas completadas" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Salidas completadas" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Orden de Venta" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Prioridad" @@ -1968,7 +1977,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:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Destinación" @@ -1981,13 +1990,13 @@ msgstr "Se requiere ubicación de destino" msgid "Allocated Parts" msgstr "Partes asignadas" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Lote" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Creado" @@ -2120,7 +2129,7 @@ msgstr "Nueva Orden de Trabajo" msgid "Build Order Details" msgstr "Configuración de Pedido de Trabajo" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Salidas incompletas" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "Archivo {name.title()}" msgid "Select {name} file to upload" msgstr "Seleccione el archivo {name} para subir" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Actualizado" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Fecha y hora de la última actualización" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Código único del proyecto" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Descripción del proyecto" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "Usuario o grupo responsable de este projecto" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "Clave de configuración (debe ser única - mayúsculas y minúsculas)" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "Valor de ajuste" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "El valor elegido no es una opción válida" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "El valor debe ser un valor booleano" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "El valor debe ser un entero" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "Cadena de clave debe ser única" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Sin grupo" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Reinicio requerido" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "Se ha cambiado una configuración que requiere un reinicio del servidor" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Migraciones pendientes" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "Número de migraciones de base de datos pendientes" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Nombre de la instancia del servidor" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "Descriptor de cadena para la instancia del servidor" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Usar nombre de instancia" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Utilice el nombre de la instancia en la barra de título" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Restringir mostrar 'acerca de'" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Mostrar la modal `about` solo para superusuarios" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Nombre de empresa" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Nombre interno de empresa" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "URL Base" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "URL base para la instancia del servidor" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Moneda predeterminada" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "Seleccione la moneda base para los cálculos de precios" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "Intervalo de actualización de moneda" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Con qué frecuencia actualizar los tipos de cambio (establecer a cero para desactivar)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "días" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "Plugin de Actualización de Moneda" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "Plugin de actualización de moneda a usar" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Descargar desde URL" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Permitir la descarga de imágenes y archivos remotos desde la URL externa" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Límite de tamaño de descarga" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Tamaño máximo de descarga permitido para la imagen remota" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "Agente de usuario usado para descargar desde la URL" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permitir reemplazar el agente de usuario utilizado para descargar imágenes y archivos desde URL externa (dejar en blanco para el valor predeterminado)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "Validación estricta de URL" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "Requerir especificación de esquema al validar URLs" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Requiere confirmación" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Requiere confirmación explícita del usuario para ciertas acciones." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Profundidad del árbol" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profundidad de árbol predeterminada para treeview. Los niveles más profundos pueden ser cargados perezosamente a medida que son necesarios." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Actualizar intervalo de actualización" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Con qué frecuencia comprobar actualizaciones (establecer a cero para desactivar)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Copia de seguridad automática" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Activar copia de seguridad automática de los archivos de base de datos y medios" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Intervalo de respaldo automático" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Especificar número de días entre eventos automatizados de copia de seguridad" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Intervalo de eliminación de tareas" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "Los resultados de las tareas en segundo plano se eliminarán después del número especificado de días" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "Intervalo de eliminación de registro de errores" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "Los registros de errores se eliminarán después del número especificado de días" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "Intervalo de eliminación de notificaciones" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Las notificaciones de usuario se eliminarán después del número especificado de días" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Soporte de código de barras" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "Habilitar el soporte para escáner de códigos de barras en la interfaz web" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Retraso de entrada de código de barras" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Tiempo de retraso en la lectura de códigos de barras" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Soporte para Webcam de código de barras" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Permitir escaneo de código de barras a través de webcam en el navegador" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "Revisiones de partes" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Habilitar campo de revisión para parte" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Patrón de expresión regular para IPN de la parte coincidente" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Permitir IPN duplicado" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Permitir que varias partes compartan el mismo IPN" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Permitir editar IPN" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Permite cambiar el valor de IPN mientras se edita una parte" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Copiar parte de datos BOM" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Copiar datos BOM por defecto al duplicar una parte" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Copiar parámetros de parte" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Copiar datos de parámetro por defecto al duplicar una parte" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Copiar parte de datos de prueba" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Copiar datos de parámetro por defecto al duplicar una parte" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Copiar plantillas de parámetros de categoría" -#: common/models.py:1478 +#: common/models.py:1480 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:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Plantilla" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Las partes son plantillas por defecto" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Componente" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Comprable" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Vendible" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Las partes se pueden vender por defecto" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Las partes son virtuales por defecto" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Mostrar importación en vistas" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Mostrar el asistente de importación en algunas vistas de partes" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Mostrar partes relacionadas" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Mostrar partes relacionadas para una parte" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Datos iniciales de existencias" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir la creación del stock inicial al añadir una nueva parte" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Datos iniciales del proveedor" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permitir la creación de datos iniciales del proveedor al agregar una nueva parte" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Formato de visualización de Nombre de Parte" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Formato para mostrar el nombre de la parte" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Icono por defecto de la categoría de parte" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Forzar unidades de parámetro" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Si se proporcionan unidades, los valores de parámetro deben coincidir con las unidades especificadas" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de lugares decimales en el precio" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "Máximo de lugares decimales en el precio" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de decimales a mostrar al procesar los datos de precios" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Usar precios de proveedor" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Anulación del historial de compra" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Usar precio del artículo de almacén" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Edad del precio del artículo de almacén" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Usar precios variantes" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir variantes de precios en los cálculos generales de precios" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Solo variantes activas" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "Usar solo partes de variantes activas para calcular los precios de variantes" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "Intervalo de reconstrucción de precios" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Número de días antes de que el precio de la parte se actualice automáticamente" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Precios internos" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Habilitar precios internos para partes" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Anulación del precio interno" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Habilitar impresión de etiquetas" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Habilitar impresión de etiquetas desde la interfaz web" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "PPP de la imagen de etiqueta" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Habilitar informes" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Habilitar generación de informes" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Modo de depuración" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Generar informes en modo de depuración (salida HTML)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Tamaño de página" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Tamaño de página predeterminado para informes PDF" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Habilitar informes de prueba" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Habilitar generación de informes de prueba" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Adjuntar informes de prueba" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Al imprimir un informe de prueba, adjuntar una copia del informe de prueba al artículo de almacén asociado" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Seriales únicos globalmente" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Autollenar números de serie" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Autorellenar números de serie en formularios" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Eliminar existencias agotadas" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Plantilla de código de lote" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Expiración de stock" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Habilitar la funcionalidad de expiración de stock" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Vender existencias caducadas" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Permitir venta de existencias caducadas" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Tiempo histórico de Stock" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Crear Stock Caducado" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Permitir crear con stock caducado" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Control de Stock" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Icono por defecto de ubicación de almacén" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "Mostrar Articulos de Stock Instalados" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "Mostrar los artículos de stock instalados en las tablas de stock" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Armado" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "Habilitar órdenes de devolución" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "Patrón de referencia de orden de devolución" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "Editar ordenes de devolución completadas" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir la edición de ordenes de devolución después de que hayan sido completados" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Venta" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de venta" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "Envío Predeterminado de Ordenes de Venta" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar la creación de envío predeterminado con ordenes de entrega" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "Editar Ordenes de Venta Completados" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir la edición de ordenes de venta después de que hayan sido enviados o completados" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "Patrón de Referencia de Orden de Compra" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Editar Ordenes de Compra Completados" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "Autocompletar Ordenes de compra" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Habilitar función de contraseña olvidada" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Activar la función olvido de contraseña en las páginas de inicio de sesión" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Habilitar registro" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Activar auto-registro para usuarios en las páginas de inicio de sesión" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "Habilitar SSO" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "Habilitar SSO en las páginas de inicio de sesión" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "Habilitar registro SSO" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activar autoregistro a través de SSO para usuarios en las páginas de inicio de sesión" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Email requerido" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "Requiere usuario para suministrar correo al registrarse" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "Auto-rellenar usuarios SSO" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "Correo dos veces" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Contraseña dos veces" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Dominios permitidos" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Grupo al registrarse" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Forzar MFA" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Los usuarios deben utilizar seguridad multifactor." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Comprobar complementos al iniciar" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Comprobar que todos los complementos están instalados en el arranque - habilitar en entornos de contenedores" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "Habilitar integración de URL" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "Habilitar plugins para añadir rutas de URL" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "Habilitar integración de navegación" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "Habilitar plugins para integrar en la navegación" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "Habilitar integración de la aplicación" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "Habilitar plugins para añadir aplicaciones" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "Habilitar integración de programación" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Habilitar plugins para ejecutar tareas programadas" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "Habilitar integración de eventos" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "Habilitar plugins para responder a eventos internos" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "Habilitar códigos de proyecto" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "Habilitar códigos de proyecto para rastrear proyectos" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "Excluir Ubicaciones Externas" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "Intervalo de borrado de informe" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "Mostrar nombres completos de los usuarios" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "Ocultar partes inactivas" -#: common/models.py:2214 +#: common/models.py:2216 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:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Mostrar partes suscritas" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Mostrar las partes suscritas en la página principal" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Mostrar categorías suscritas" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorías de partes suscritas en la página de inicio" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Mostrar últimas partes" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Mostrar las últimas partes en la página de inicio" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 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:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Mostrar cambios recientes de stock" -#: common/models.py:2245 +#: common/models.py:2247 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:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Mostrar stock bajo" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Mostrar artículos de stock bajo en la página de inicio" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Mostrar stock agotado" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "Mostrar artículos agotados en la página de inicio" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Mostrar stock necesario" -#: common/models.py:2263 +#: common/models.py:2265 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:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Mostrar stock caducado" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "Mostrar artículos de stock caducados en la página de inicio" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Mostrar stock obsoleto" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "Mostrar artículos de stock obsoletos en la página de inicio" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Mostrar trabajos pendientes" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Mostrar trabajos vencidos" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Mostrar Órdenes de Compra Pendientes" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Mostrar las OC destacadas en la página de inicio" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Mostrar OC atrasadas" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Mostrar las OC vencidas en la página de inicio" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Mostrar OV pendiemtes" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar OV pendientes en la página de inicio" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Mostrar OV atrasadas" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "Mostrar OV atrasadas en la página de inicio" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Mostrar novedades" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "Mostrar etiqueta interior" -#: common/models.py:2330 +#: common/models.py:2332 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:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Impresora predeterminada" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Mostrar informe en línea" -#: common/models.py:2346 +#: common/models.py:2348 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:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Buscar partes" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Buscar partes de proveedor" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Buscar Partes del Fabricante" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Ocultar Partes Inactivas" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "Excluir las partes inactivas de la ventana de previsualización de búsqueda" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Buscar categorías" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "Mostrar categorias de la parte en la ventana de previsualización de búsqueda" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Buscar inventario" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "Mostrar artículos del stock en la ventana de previsualización de búsqueda" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Ocultar Artículos del Stock Agotados" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "Excluir artículos de stock que no están disponibles en la ventana de previsualización de búsqueda" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Buscar ubicaciones" -#: common/models.py:2397 +#: common/models.py:2399 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:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Buscar empresas" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "Mostrar empresas en la ventana de vista previa de búsqueda" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Buscar Pedidos de Construcción" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Buscar órdenes de compra" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Excluir pedidos de compra inactivos" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Buscar órdenes de venta" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Buscar órdenes de devolución" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "Resultados de la vista previa" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Búsqueda usando una expresión regular" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "Habilitar expresiones regulares en las consultas de búsqueda" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "Búsqueda por palabra completa" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "Las consultas de búsqueda devuelven resultados para palabras enteras coincidentes" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Mostrar cantidad en formularios" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "Mostrar la cantidad de partes disponibles en algunos formularios" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "Formularios de cierre de teclas de escape" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "Usa la clave de escape para cerrar formularios modales" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Barra de navegación fija" -#: common/models.py:2489 +#: common/models.py:2491 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:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar fechas" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planificación de partes" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "Recibir reportes de error" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "Últimas impresoras usadas" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Usuario" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Precio" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Clave" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Encabezado" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Cuerpo" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Título" msgid "Link" msgstr "Enlace" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumen" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Leer" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "¿Esta noticia ya fue leída?" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "¿Esta noticia ya fue leída?" msgid "Image" msgstr "Imágen" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Archivo de imagen" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "Nombre de unidad debe ser un identificador válido" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "Nombre de unidad" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "Símbolo de unidad opcional" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definición" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "Definición de unidad" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Archivo adjunto" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Archivo no encontrado" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Falta enlace externo" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Comentario" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "Clave" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Nuevo {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 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:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "{verbose_name} cancelado" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "Artículos Recibidos" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "Los artículos han sido recibidos contra una orden de compra" -#: common/notifications.py:339 +#: common/notifications.py:335 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:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "Error generado por el complemento" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "Está en ejecución" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "Tareas pendientes" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "Tareas Programadas" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "Tareas fallidas" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "Identificación de Tarea" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "Identificación de tarea única" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "Bloquear" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "Bloquear hora" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "Nombre de la tarea" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "Función" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "Nombre de la Función" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "Argumentos" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "Argumentos de la tarea" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "Argumentos de palabra clave" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "Argumentos de palabra clave de tarea" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Nombre de Archivo" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "Coincidir Campos" msgid "Match Items" msgstr "Coincidir artículos" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "Falló la coincidencia de campos" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Partes importadas" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Empresa" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Empresas" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Descripción de la empresa" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "Descripción de la empresa" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Página web" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "URL del sitio web de la empresa" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Teléfono" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Teléfono de contacto" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Correo electrónico de contacto" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Contacto" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Punto de contacto" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Enlace a información externa de la empresa" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "¿Vendes artículos a esta empresa?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "¿Compras artículos de esta empresa?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "¿Esta empresa fabrica partes?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Moneda predeterminada utilizada para esta empresa" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Dirección" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "Direcciones" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "Seleccionar empresa" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "Título de dirección" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "Título que describe la entrada de dirección" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "Dirección principal" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "Establecer como dirección principal" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Línea 1" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "Dirección línea 1" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Línea 2" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "Dirección línea 2" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Código postal" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "Ciudad/región" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "Código postal de ciudad/región" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "Estado/provincia" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "Estado o provincia" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "País" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "Dirección de país" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "Notas de envío de mensajería" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "Notas para el mensajero de envío" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "Notas de envío internas" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "Notas de envío para uso interno" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Parte del fabricante" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Parte base" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Seleccionar parte" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Seleccionar parte" msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Seleccionar fabricante" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL para el enlace de parte del fabricante externo" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "Descripción de la parte del fabricante" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Nombre del parámetro" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Valor" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Valor del parámetro" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Unidades" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Unidades de parámetro" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Parte del proveedor" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "Las unidades de paquete deben ser compatibles con las unidades de partes de base" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "Las unidades de paquete deben ser mayor que cero" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte msgid "Supplier" msgstr "Proveedor" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Seleccionar parte del fabricante" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "URL del enlace de parte del proveedor externo" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Nota" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "costo base" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Embalaje de partes" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "Embalaje de partes" msgid "Pack Quantity" msgstr "Cantidad de paquete" -#: company/models.py:860 +#: company/models.py:857 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:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "múltiple" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Pedido múltiple" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "Cantidad disponible del proveedor" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "Disponibilidad actualizada" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "Fecha de última actualización de los datos de disponibilidad" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Moneda predeterminada utilizada para este proveedor" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Descargar desde URL" msgid "Delete image" msgstr "Borrar imagen" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Cliente" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Teléfono" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "Eliminar imagen" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "Eliminar imagen asociada a esta empresa" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Eliminar" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "Subir Imagen" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "Descargar imagen" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "Eliminar fabricante de la parte" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Componente interno" @@ -4838,7 +4939,7 @@ msgstr "No hay información del fabricante disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "Eliminar parte del proveedor" msgid "No supplier information available" msgstr "No hay información de proveedor disponible" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Elementos de stock" @@ -5022,99 +5123,107 @@ msgstr "Nuevo Cliente" msgid "New Company" msgstr "Nueva empresa" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Colocado" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "Datos" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "Errores" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "Válido" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "Copias" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "Conectado" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Desconocido" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "Impresión" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "Sin archivos multimedia" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "Desconectado" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "Impresora de Etiquetas" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "Imprime directamente etiquetas para varios artículos." -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "Ubicación de la Impresora" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "Precio Total" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Orden" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "Orden de devolución" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Precio total para este pedido" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Moneda de pedido" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Moneda para este pedido (dejar en blanco para utilizar el valor predeterminado de la empresa)" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "El contacto no coincide con la empresa seleccionada" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "Descripción del pedido (opcional)" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Enlace a Url externa" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Fecha esperada para la entrega del pedido. El pedido se retrasará después de esta fecha." -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Creado por" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Usuario o grupo responsable de este pedido" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "Punto de contacto para este pedido" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "Dirección de la empresa para este pedido" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "Estado de la orden de compra" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Empresa de la cual se están encargando los artículos" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "Referencia del proveedor" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "Código de referencia de pedido del proveedor" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "recibido por" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Fecha de emisión" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Fecha de expedición del pedido" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "enviado por" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:1088 +#: order/models.py:1081 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:1093 +#: order/models.py:1086 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:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "Referencia de partida" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "Notas de partida" -#: order/models.py:1393 +#: order/models.py:1386 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:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "Descripción de partida (opcional)" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "Contexto" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "La parte del proveedor debe coincidir con el proveedor" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "eliminado" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "Parte del proveedor" msgid "Received" msgstr "Recibido" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "¿Dónde quiere el comprador almacenar este objeto?" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 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:1642 +#: order/models.py:1635 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:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Precio de Venta" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Enviado" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Fecha de entrega" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "Fecha de entrega del envío" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Envío" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:1973 +#: order/models.py:1966 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:1976 +#: order/models.py:1969 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:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Línea" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Ítem" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "Empresa de la cual se están devolviendo los artículos" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 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:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:2399 +#: order/models.py:2392 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:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "Resultado" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "Salida para esta partida" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "Costo asociado con la devolución o reparación para esta partida" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "Nombre del proveedor" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "El pedido no puede ser cancelado" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir cerrar el pedido con partidas incompletas" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "El pedido tiene partidas incompletas" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "El pedido no está abierto" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "Número de parte interna" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "Debe especificar la parte del proveedor" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "La orden de compra debe especificarse" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "El proveedor debe coincidir con la orden de compra" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "La orden de compra debe coincidir con el proveedor" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "Partida" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "La partida no coincide con la orden de compra" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "Introduzca el código de lote para los artículos de almacén entrantes" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Introduzca números de serie para artículos de almacén entrantes" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "Código de barras escaneado" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "Código de barras en uso" @@ -5910,7 +6019,7 @@ msgstr "Código de barras en uso" msgid "An integer quantity must be provided for trackable parts" msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "Se deben proporcionar las partidas" @@ -5922,59 +6031,59 @@ msgstr "Se requiere ubicación de destino" msgid "Supplied barcode values must be unique" msgstr "Los valores del código de barras deben ser únicos" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "No se proporcionaron detalles de envío" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "La partida no está asociada con este pedido" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "La cantidad debe ser positiva" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "No se han encontrado coincidencias para los siguientes números de serie" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "Los siguientes números de serie ya están asignados" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "Partida de orden de devolución" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "La partida no coincide con la orden de devolución" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "La partida ya ha sido recibida" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "Moneda de precio de línea" @@ -5982,7 +6091,7 @@ msgstr "Moneda de precio de línea" msgid "Lost" msgstr "Perdida" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Devuelto" @@ -6184,8 +6293,8 @@ msgstr "Duplicar selección" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "Envíos pendientes" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Acciones" @@ -6401,21 +6510,22 @@ msgstr "Actualizado el precio unitario de {part} a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Revisión" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Palabras claves" @@ -6427,7 +6537,7 @@ msgstr "Imagen de parte" msgid "Category ID" msgstr "ID de Categoría" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "Nombre de categoría" @@ -6440,11 +6550,11 @@ msgstr "ID de ubicación predeterminada" msgid "Default Supplier ID" msgstr "ID de proveedor predeterminado" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -6452,23 +6562,23 @@ msgstr "Stock mínimo" msgid "Used In" msgstr "Usado en" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "En construcción" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Costo máximo" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "Identificador de la clase o especie padre" @@ -6481,8 +6591,8 @@ msgstr "Nombre del padre" msgid "Category Path" msgstr "Ruta de Categoría" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "IPN del padre" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "Orden de compra entrante" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "Orden de venta saliente" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "Esta opción debe ser seleccionada" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Categoría" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Ubicación Predeterminada" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Inventario Total" @@ -6641,421 +6755,421 @@ msgstr "Inventario Total" msgid "Input quantity for price calculation" msgstr "Cantidad de entrada para el cálculo del precio" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de parte" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Categorías de parte" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para partes de esta categoría" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "Estructural" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Las partes no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas." -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Palabras clave predeterminadas" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "Palabras clave por defecto para partes en esta categoría" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "Icono" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "Icono (opcional)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "Opción no válida para la parte principal" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 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:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:951 +#: part/models.py:963 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:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:1015 +#: part/models.py:1027 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:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "Proveedor por defecto" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "Parte de proveedor predeterminada" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:1130 +#: part/models.py:1142 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:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 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:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "Costo mínimo basado en precios reducidos internos" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "Anular el costo mínimo" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "Costo mínimo general calculado" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "Costo de Venta Máximo" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Fecha" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "Costo de Stock Mínimo" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "Costo mínimo estimado del stock disponible" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Informe" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Número de partes" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 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:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Habilitado" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Requerido" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3635 +#: part/models.py:3647 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:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3642 +#: part/models.py:3654 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:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Opciones" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Casilla de verificación" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opciones válidas para este parámetro (separados por comas)" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "Opción inválida para el valor del parámetro" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "ID de parte o nombre de parte" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "Valor de ID de parte única" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "Valor IPN de parte" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "Nivel" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "Nivel de BOM" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:4266 +#: part/models.py:4279 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:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Validado" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 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:4314 +#: part/models.py:4327 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:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4572 +#: part/models.py:4582 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:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" @@ -7457,326 +7571,326 @@ msgstr "Moneda de compra de ítem de stock" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "Generar informe" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "Actualizar partes" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "El precio mínimo no debe ser mayor que el precio máximo" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "El precio máximo no debe ser inferior al precio mínimo" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluye artículos BOM que son heredados de partes con plantillas" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "Limpiar BOM Existente" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "Varios resultados encontrados" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "No se encontraron partes coincidentes" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "La parte no está designada como componente" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "Cantidad no proporcionada" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "Cantidad no válida" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "Se requiere al menos un artículo BOM" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "Verificación de Inventario" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "La parte es virtual (no una parte física)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "Mostrar Detalles de Parte" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "Nivel mínimo de stock" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "Rango de precios" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "Último número de serie" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "Buscar número de serie" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "Vincular código de barras a parte" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "Calcular" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "Eliminar imagen asociada de esta parte" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "No se encontraron imágenes coincidentes" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "Ocultar Detalles de la Parte" @@ -8288,7 +8406,7 @@ msgstr "Variantes" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Inventario" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "Editar" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "Última actualización" @@ -8498,8 +8616,8 @@ 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:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "No se encontró ninguna coincidencia para los datos del código de barras" @@ -8524,52 +8642,52 @@ msgstr "El código de barras coincide con artículo existente" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "URL de webhook entrante de Slack" msgid "URL that is used to send messages to a slack channel" msgstr "URL que se utiliza para enviar mensajes a un canal de slack" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "Abrir enlace" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "Configuración del complemento" msgid "Plugin Configurations" msgstr "Configuraciones del Plug-in" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "Clave" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "Clave del complemento" @@ -8994,7 +9108,7 @@ msgstr "Complemento" msgid "Method" msgstr "Método" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "No se encontró autor" @@ -9091,43 +9205,43 @@ msgstr "Instalación no confirmada" msgid "Either packagename of URL must be provided" msgstr "Debe proporcionar cualquier nombre de paquete de la URL" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "Activar complemento" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "Activar este complemento" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "Progreso" @@ -9403,7 +9517,7 @@ msgstr "Resultados de la Prueba" msgid "Test" msgstr "Prueba" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "Resultado" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "Sin resultados" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Elementos instalados" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "ID de Ubicación" @@ -9459,58 +9573,58 @@ msgstr "ID de Ubicación" msgid "Location Path" msgstr "Ruta de Ubicación" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "ID del artículo de almacén" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "Código de estado" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "ID Parte del Proveedor" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "ID de proveedor" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "ID de cliente" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Instalado en" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "ID de construcción" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "ID de orden de venta" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "ID de orden de compra" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Revisión necesaria" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Fecha de Expiración" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Desactualizado" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicación de Stock" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Ubicaciones de Stock" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Propietario" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "Seleccionar Propietario" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "Externo" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "La cantidad debe ser 1 para el artículo con un número de serie" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Número de serie no se puede establecer si la cantidad es mayor que 1" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "El objeto no puede pertenecer a sí mismo" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "El artículo debe tener una referencia de construcción si is_building=True" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "La referencia de la construcción no apunta al mismo objeto de parte" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "Artículo de stock padre" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "Parte base" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "Seleccione una parte del proveedor correspondiente para este artículo de stock" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "¿Dónde se encuentra este artículo de stock?" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "Empaquetar este artículo de stock se almacena en" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "¿Está este artículo instalado en otro artículo?" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "Número de serie para este artículo" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "Código de lote para este artículo de stock" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "Cantidad de Stock" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "Build de origen" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "Build para este item de stock" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Consumido por" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "Orden de compra de origen" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "Orden de compra para este artículo de stock" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "Orden de venta de destino" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Fecha de caducidad del artículo de stock. El stock se considerará caducado después de esta fecha" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "Eliminar al agotar" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "Eliminar este artículo de stock cuando se agoten las existencias" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "Precio de compra único en el momento de la compra" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "Convertido a parte" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "La parte no está establecida como rastreable" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "Cantidad debe ser un entero" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "Los números de serie deben ser una lista de enteros" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "La cantidad no coincide con los números de serie" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "Números de serie ya existen" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "Artículo de stock ha sido asignado a un pedido de venta" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "Artículo de stock está instalado en otro artículo" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "Artículo de stock contiene otros artículos" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "Artículo de stock ha sido asignado a un cliente" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "El artículo de stock está en producción" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "Los artículos de stock deben referirse a la misma parte" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "Los artículos de stock deben referirse a la misma parte del proveedor" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "Los códigos de estado del stock deben coincidir" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stock no se puede mover porque no está en stock" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "Notas de entrada" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "Debe proporcionarse un valor para esta prueba" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "El archivo adjunto debe ser subido para esta prueba" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "Resultado de la prueba" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "Valor de salida de prueba" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "Adjunto de resultados de prueba" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "Notas de prueba" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "El número de serie es demasiado grande" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "Elemento padre" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Expirado" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "Elementos secundarios" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "Introduzca el número de artículos de stock para serializar" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "Introduzca números de serie para nuevos artículos" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "Ubicación de stock de destino" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "Campo de nota opcional" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "Los números de serie no se pueden asignar a esta parte" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "Añadir nota de transacción (opcional)" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sub-ubicación" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "La parte debe ser vendible" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a una orden de venta" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "El artículo está asignado a una orden de creación" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "Cliente para asignar artículos de stock" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "Notas de asignación de stock" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "Debe proporcionarse una lista de artículos de stock" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "Notas de fusión de stock" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "Permitir estado no coincidente" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "Debe proporcionar al menos dos artículos de stock" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "Valor de clave primaria de Stock" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "Notas de transacción de stock" @@ -10175,107 +10289,107 @@ msgstr "Rechazado" msgid "Quarantined" msgstr "En cuarentena" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Entrada antigua de rastreo de stock" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Artículo de stock creado" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Artículo de almacén editado" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Número de serie asignado" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Stock contado" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Stock añadido manualmente" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Stock eliminado manualmente" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Ubicación cambiada" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Existencia actualizada" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Instalado en el ensamblaje" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Retirado del ensamblaje" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Artículo del componente instalado" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Elemento de componente eliminado" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Separar del artículo principal" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Dividir artículo secundario" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Artículos de stock combinados" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Convertir a variante" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Trabajo de ensamblaje creado" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Construir orden de salida completado" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Orden de ensamble rechazada" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Consumido por orden de construcción" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Enviado contra orden de venta" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Recibido contra la orden de compra" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Devuelto contra orden de devolución" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Enviar al cliente" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Devolución del cliente" @@ -10316,7 +10430,7 @@ msgstr "Notas del artículo de stock" msgid "Installed Stock Items" msgstr "Elementos de Stock instalados" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "Instalar artículo de stock" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "Transferir stock" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Asignar a cliente" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "Eliminar artículo de stock" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Construcción o Armado" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "Navegar al siguiente número de serie" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Ubicación no establecida" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "Ningún inventario realizado" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Nueva Ubicación" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Eliminar" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "Las siguientes partes están bajas en stock requerido" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Cantidad requerida" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "Seleccionar" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "Sin categoría" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "Mostrar como lista" @@ -13431,7 +13545,7 @@ msgstr "Mostrar como cuadrícula" msgid "No subcategories found" msgstr "No se encontraron subcategorías" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "Mostrar como árbol" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Añadir" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Sí" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Usuarios" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "Seleccione qué usuarios están asignados a este grupo" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Información personal" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Permisos" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "Fechas importantes" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Permiso establecido" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Grupo" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Vista" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Permiso para ver artículos" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Permiso para añadir artículos" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Cambiar" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Permisos para editar artículos" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Permiso para eliminar artículos" diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index c9947d6869..53478fa5ec 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: es-MX\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "Endpoint de API no encontrado" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Unidad proporcionada no válida ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Ningún valor proporcionado" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "No se pudo convertir {original} a {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "La cantidad suministrada es inválida" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "La cantidad suministrada es inválida ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Detalles del error pueden encontrarse en el panel de administración" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Ingrese la fecha" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Ingrese la fecha" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Notas" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "El valor '{name}' no aparece en formato de patrón" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "El valor proporcionado no coincide con el patrón requerido: " @@ -132,82 +132,82 @@ msgstr "El registro ha sido desactivado." msgid "The provided primary email address is not valid." msgstr "La dirección de correo electrónico principal proporcionada no es válida." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "El dominio de correo electrónico proporcionado no está aprobado." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "El registro ha sido desactivado." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "No se ha proporcionado un número de serie" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Número de serie duplicado" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Rango de grupo inválido: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "El rango del grupo {group} supera la cantidad permitida ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Secuencia de grupo inválida: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "No se encontraron números de serie" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Los números de serie únicos ({len(serials)}) deben coincidir con la cantidad ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Elimine etiquetas HTML de este valor" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Error de conexión" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "El servidor respondió con un código de estado no válido" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Se ha producido una excepción" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "El servidor respondió con un valor de longitud de contenido inválido" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "El tamaño de la imagen es demasiado grande" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "La imagen descargada exedió el tamaño máximo" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "El servidor remoto devolvió una respuesta vacía" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" @@ -364,8 +364,8 @@ msgstr "Chino (Tradicional)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Iniciar sesión en la aplicación" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Metadatos del complemento" msgid "JSON metadata field, for use by external plugins" msgstr "Campo de metadatos JSON, para uso por complementos externos" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Patrón con formato incorrecto" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Clave de formato especificado desconocida" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Falta la clave de formato necesaria" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "El campo de servidor no puede estar vacío" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "La referencia debe coincidir con el patrón requerido" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "El número de referencia es demasiado grande" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Selección no válida" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Nombre" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Ruta" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Notas (opcional)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Datos de código de barras" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Datos de código de barras de terceros" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Hash del Código de barras" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Error de servidor" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Moneda" msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Nombre de usuario" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Nombre" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "Nombre de usuario" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Apellido" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "Apellido del usuario" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "Dirección de email del usuario" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "Personal" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "Tiene permisos de personal este usuario" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "Superusuario" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "Este usuario es un superusuario" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "Este usuario es un superusuario" msgid "Active" msgstr "Activo" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "Esta cuenta de usuario está activa" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "No tiene permiso para cambiar este cargo de usuario." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Solo los superusuarios pueden crear nuevos usuarios" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Su cuenta ha sido creada." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Por favor, utilice la función de restablecer la contraseña para iniciar sesión" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Bienvenido a InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Archivo de datos" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Seleccione el archivo para subir" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Tipo de archivo no soportado" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "El archivo es demasiado grande" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "No hay columnas en el archivo" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "No hay filas de datos en el archivo" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "No se proporcionaron filas de datos" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "No hay columnas de datos para suministrar" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta la columna requerida: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Columna duplicada: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Imagen remota" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL de imagen remota" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po index 37bc37dc00..9cacc39083 100644 --- a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: et\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Teil ei ole selle lehe vaatamiseks luba" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Märkmed" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Registreerimine on ajutiselt väljalülitatud." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Ühenduse viga" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Esines tõrge" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Valuuta" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Eesnimi" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Perekonnanimi" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Määra parool" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Esitatud vale parool" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "Tootekood" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "Tarnija osa number" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Osa ID" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Seerianumber" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Katkestatud" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Valmis" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Loodud" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Grupp puudub" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Taaskäivitamine on vajalik" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Automaatne varundus" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Vöötkoodi tugi" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 7138efac25..4266f961f0 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: fa\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "کاربر سطح دسترسی نمایش این مدل را ندارد" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "مقداری افزوده نشده" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "تعداد افزوده شده اشتباه است" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا کرد" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "تاریخ را وارد کنید" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "تاریخ را وارد کنید" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "یادداشت" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "مقدار '{name}' در قالب الگو ظاهر قرار نمی گیرد" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "مقدار ارائه شده با الگوی مورد نیاز مطابقت ندارد: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "آدرس ایمیل اصلی ارائه شده معتبر نیست." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "دامنه ایمیل ارائه شده تایید نشده است." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "خطا در اتصال" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "سرور با کد وضعیت نامعتبر پاسخ داد" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "یک استثنا رخ داده است" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "سرور با مقدار طول محتوا نامعتبر پاسخ داد" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "اندازه عکس بسیار بزرگ است" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "فایل‌های داده" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "فایل را برای بارگذاری انتخاب کنید" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "این نوع فایل پشتیبانی نمی‌شود" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "حجم فایل خیلی بزرگ است" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "هیچ ستونی در فایل یافت نشد" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "هیچ ردیف داده ای در فایل یافت نشد" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "هیچ ردیف داده ای ارائه نشده است" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "هیچ ستون داده ای ارائه نشده است" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "ستون مورد نیاز وجود ندارد: \"{name}\"" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "ستون تکراری: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "آدرس فایل تصویری از راه دور" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "مرجع سفارش فروش" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "منبع محل" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "مقصد" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index 60742baa75..cf0bf22484 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: fi\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API-rajapintaa ei löydy" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Arvoa ei annettu" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Virheen tiedot löytyvät hallintapaneelista" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Anna päivämäärä" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Anna päivämäärä" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Merkinnät" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Annettu ensisijainen sähköpostiosoite ei kelpaa." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Tyhjä sarjanumero" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Duplikaatti sarjanumero" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Sarjanumeroita ei löytynyt" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Yhteysvirhe" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Palvelin vastasi virheellisellä tilakoodilla" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Kuva on liian iso" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Kuvan lataus ylitti enimmäiskoon" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Etäpalvelin palautti tyhjän vastauksen" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Annettu URL ei ole kelvollinen kuvatiedosto" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Liitännäisen metadata" msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadatakenttä, ulkoisten liitännäisten käyttöön" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Virheellisesti muotoiltu malli" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Viitekenttä ei voi olla tyhjä" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Viitenumero on liian suuri" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Virheellinen valinta" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Nimi" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Kuvaus" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Kuvaus (valinnainen)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Polku" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Viivakoodin Tiedot" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Palvelinvirhe" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Valuutta" msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Käyttäjätunnus" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Etunimi" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Sukunimi" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "Aktiivinen" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Virheellinen arvo" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Datatiedosto" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Valitse lähetettävä datatiedosto" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Tiedostotyyppiä ei tueta" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Tiedosto on liian suuri" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Datarivejä ei annettu" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Datasarakkeita ei annettu" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Vaadittu sarake puuttuu: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikaatti sarake: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "Kuvatiedoston URL" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "InvenTree järjestelmän terveystarkastukset epäonnistui" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Muokkaa käyttäjätietoja" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Aseta salasana" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Salasanat eivät täsmää" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Virheellinen salasana" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Järjestelmän tiedot" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Tietoja InvenTree:stä" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "Saatavilla" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Osa" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Määrä" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Sarjanumerot" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Sijainti" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Tila" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Ei sallittu" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Valmistajan osanumero" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Sarjanumero" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Seurattavissa" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Peruttu" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Valmis" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Prioriteetti" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "{name.title()} Tiedosto" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Päivitetty" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Viimeisimmän päivityksen aikaleima" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Ei ryhmää" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Uudelleenkäynnistys vaaditaan" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Yrityksen nimi" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Yrityksen sisäinen nimi" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Oletusvaluutta" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "päivää" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Automaattinen varmuuskopionti" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Ota käyttöön tietokannan ja mediatiedostojen automaattinen varmuuskopiointi" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Automaattisen varmuuskopioinnin aikaväli" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Viivakoodituki" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Komponentti" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Ostettavissa" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Sisäiset hinnat" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Sisäisen hinnan ohitus" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Sivun koko" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Täytä sarjanumerot automaattisesti" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Salli salasananpalautus" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Salli rekisteröinti" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "Salli SSO" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "Salli SSO kirjautumissivuilla" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "Salli SSO rekisteröinti" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Sähköposti vaaditaan" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "Sähköpostiosoite kahdesti" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Salasana kahdesti" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Sallitut verkkotunnukset" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Pakota MFA" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Näytä uutiset" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Näytä uutiset kotisivulla" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Käyttäjä" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Hinta" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "Isäntä" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Otsikko" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Otsikko" msgid "Link" msgstr "Linkki" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Julkaistu" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Julkaisija" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Kuvatiedosto" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Liite" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Puuttuva tiedosto" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Puuttuva ulkoinen linkki" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentti" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "Avain" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Uusi {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Tiedostonimi" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Yritys" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Yritykset" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Yrityksen kuvaus" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Sivusto" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "Yrityksen sivuston URL" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Puhelinnumero" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Kontakti" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Osoite" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "Valmistaja" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Valitse valmistaja" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Valitse valmistaja" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Arvo" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "Toimittaja" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Valitse valmistajan osa" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Muistiinpano" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Asiakas" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Puhelin" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Poista" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "Uusi asiakas" msgid "New Company" msgstr "Uusi yritys" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "Hinta yhteensä" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Tilauksen valuutta" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Tilauksen viite" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "Vastaanotettu" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Lähetetty" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Viivakoodi" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Kadonnut" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Palautettu" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Toiminnot" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Avainsanat" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Kategoria" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Oletus avainsanat" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "Kuvake" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "Kuvake (valinnainen)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Raportti" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Käytössä" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "Muokkaa" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "Avaa linkki" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "Avain" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Sarjanumero" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Hylätty" msgid "Quarantined" msgstr "Asetettu karanteeniin" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Varastotuote luotu" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Sijainti muutettu" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Varasto päivitetty" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "Siirry seuraavaan sarjanumeroon" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Uusi sijainti" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Poista" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Kyllä" msgid "No" msgstr "Ei" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Käyttäjät" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "Valitse mitkä käyttäjät on määritetty tähän ryhmään" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Henkilökohtaiset tiedot" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Oikeudet" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Ryhmä" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Näytä" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Oikeus tarkastella kohteita" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Oikeus lisätä kohteita" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Muuta" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Oikeus muokata kohteita" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 116f93f987..752d72d467 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: fr\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "L'utilisateur n'a pas la permission de voir ce modèle" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Unité fournie invalide ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Pas de valeur renseignée" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Impossible de convertir {original} en {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Quantité fournie invalide" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Quantité fournie invalide ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'administration" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Entrer la date" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Notes" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "La valeur '{name}' n'apparaît pas dans le format du modèle" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "La valeur fournie ne correspond pas au modèle requis : " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "L'adresse e-mail principale fournie n'est pas valide." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Le domaine e-mail fourni n'est pas approuvé." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "L'enregistrement est désactivé." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Chaîne de numéro de série vide" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Numéro de série en doublon" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Plage de groupe non valide : {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "La plage de groupe {group} dépasse la quantité autorisée ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Séquence de groupe invalide : {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Aucun numéro de série trouvé" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Le nombre de numéros de série uniques ({len(serials)}) doit correspondre à la quantité ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Retirer les balises HTML de cette valeur" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Erreur de connexion" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Le serveur a répondu avec un code de statut invalide" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Une erreur est survenue" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Le serveur a répondu avec une valeur de longueur de contenu invalide" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Image trop volumineuse" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "La taille de l'image dépasse la taille maximale autorisée" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Le serveur distant a renvoyé une réponse vide" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "L'URL fournie n'est pas un fichier image valide" @@ -364,8 +364,8 @@ msgstr "Chinois (Traditionnel)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Se connecter à l'application" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Métadonnées de l'Extension" msgid "JSON metadata field, for use by external plugins" msgstr "Champs metadata JSON, pour plugins tiers" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Modèle mal formaté" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Clé de format inconnu spécifiée" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Clé de format requise manquante" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Le champ de référence ne peut pas être vide" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "La référence doit correspondre au modèle requis" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Le numéro de référence est trop grand" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Nom" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Description" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Chemin d'accès" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Notes Markdown (option)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Données du code-barres" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Hash du code-barre" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Hachage unique des données du code-barres" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Code-barres existant trouvé" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Erreur serveur" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Devise" msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Nom d'utilisateur" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Prénom" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "Prénom de l'utilisateur" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Nom" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "Nom de famille de l'utilisateur" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "Adresse e-mail de l'utilisateur" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "Staff" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "Cet utilisateur a-t-il les permissions du staff" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "Super-utilisateur" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "Cet utilisateur est-il un super-utilisateur" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "Cet utilisateur est-il un super-utilisateur" msgid "Active" msgstr "Actif" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "Ce compte d'utilisateur est-il actif" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Vous n'avez pas la permission de modifier ce rôle utilisateur." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Seuls les super-utilisateurs peuvent créer de nouveaux utilisateurs" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Votre compte a été créé." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Veuillez utiliser la fonction de réinitialisation du mot de passe pour vous connecter" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Bienvenue dans InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Images distantes" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL du fichier image distant" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Backend d'email non configuré" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Échec des contrôles de santé du système" @@ -691,122 +691,122 @@ msgstr "Unité invalide" msgid "Not a valid currency code" msgstr "Code de devise invalide" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "La valeur de surplus ne doit pas être négative" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Le surplus ne doit pas dépasser 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Valeur invalide pour le dépassement" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Définir le mot de passe" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Les mots de passe doivent correspondre" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Mot de passe incorrect" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Informations système" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "À propos d'InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Émis par" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 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:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Consommable" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Facultatif" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Assemblage" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Suivi" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Allouée" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Allouée" msgid "Available" msgstr "Disponible" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Ordre de Fabrication" msgid "Build Orders" msgstr "Ordres de Fabrication" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Un utilisateur ou un groupe responsable doit être spécifié" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "La pièce de commande de construction ne peut pas être changée" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Référence de l' Ordre de Fabrication" msgid "Reference" msgstr "Référence" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Brève description de la fabrication (optionnel)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "BuildOrder associé a cette fabrication" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Pièce" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Sélectionner l'emplacement à partir duquel le stock doit être pris pour cette construction (laisser vide pour prendre à partir de n'importe quel emplacement de stock)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Sélectionnez l'emplacement où les éléments complétés seront stockés" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "achevé par" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Émis par" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Responsable" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Utilisateur ou groupe responsable de cet ordre de construction" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Lien vers une url externe" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Priorité de fabrication" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Priorité de cet ordre de fabrication" msgid "Project Code" msgstr "Code du projet" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Code de projet pour cet ordre de construction" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "Échec du déchargement de la tâche pour terminer les allocations de construction" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantité ne peut pas être supérieure à la quantité de sortie" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "La sortie de compilation {serial} n'a pas réussi tous les tests requis" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Création de l'objet" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Création de l'objet" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Quantité" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Quantité requise pour la commande de construction" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1675 +#: build/models.py:1676 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:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Nom de l'article" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "La pièce en sortie ne correspond pas à la pièce de l'ordre de construction" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Entrer les numéros de séries pour la fabrication" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Emplacement" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:331 +#: build/serializers.py:375 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:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "Les numéros de série doivent être fournis pour les pièces traçables" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Emplacement du stock pour les sorties épuisées" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Ignorer les allocations" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Abandonner les allocations de stock pour les sorties abandonnées" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Motif de l'élimination des produits de construction(s)" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "État" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Compléter les sorties si le stock n'a pas été entièrement alloué" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "Consommation du stock alloué" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Supprimer toutes les sorties de construction qui n'ont pas été complétées" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Non permis" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Comment voulez-vous gérer les articles en stock supplémentaires assignés à l'ordre de construction" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter les articles de stock qui n'ont pas été complètement alloués à cette ordre de production" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepter que tous les ordres de production n'aient pas encore été achevés" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Chaîne d'assemblage" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "La sortie de la construction doit pointer vers la même construction" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Élément de la ligne de construction" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de construction" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "La sortie de construction doit être spécifiée pour l'allocation des pièces suivies" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Emplacement de stock où les pièces doivent être fournies (laissez vide pour les prendre à partir de n'importe quel emplacement)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Les articles de stock à plusieurs emplacements peuvent être utilisés de manière interchangeable" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Conditionnement" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID de composant" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Description pièce" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Numéro de série" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Traçable" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Article du BOM" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Stock alloué" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "En Commande" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Stock disponible" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Annulé" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Terminé" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Stock requis pour la commande de construction" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Ordre de commande en retard" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "L'ordre de commande {bo} est maintenant en retard" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Sorties de Construction terminées" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Sorties de Construction terminées" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Commandes" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Priorité" @@ -1968,7 +1977,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:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Destination" @@ -1981,13 +1990,13 @@ msgstr "Stockage de destination non défini" msgid "Allocated Parts" msgstr "Pièces allouées" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Lot" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Créé le" @@ -2120,7 +2129,7 @@ msgstr "Nouvel ordre de construction" msgid "Build Order Details" msgstr "Détails de la commande de construction" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Sorties incomplètes" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "L'utilisateur n'a pas les permissions de supprimer cette pièce jointe" @@ -2209,1631 +2218,1631 @@ msgstr "{name.title()} Fichier" msgid "Select {name} file to upload" msgstr "Sélectionner le fichier {name} à uploader" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Mise à jour" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Date de la dernière mise à jour" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "L'URL du site est verrouillée par configuration" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Code projet unique" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Description du projet" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "Utilisateur ou groupe responsable de ce projet" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Pas de groupe" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Migration en attente" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "Nombre de migrations de base de données en attente" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Nom de l'instance du serveur" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Limiter l'affichage de `about`" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Afficher la modale `about` uniquement aux super-utilisateurs" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "URL de base" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "Sélectionnez la devise de base pour les calculs de prix" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "Devises supportées" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "Liste des codes de devises supportés" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "Intervalle de mise à jour des devises" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Fréquence de mise à jour des taux de change (définir à zéro pour désactiver)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "jours" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "Plugin de mise à jour de devise" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "Plugin de mise à jour des devises à utiliser" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Limite du volume de téléchargement" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Taille maximale autorisée pour le téléchargement de l'image distante" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "Agent utilisateur utilisé pour télécharger depuis l'URL" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permettre de remplacer l'agent utilisateur utilisé pour télécharger des images et des fichiers à partir d'URL externe (laisser vide pour la valeur par défaut)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "Validation stricte d'URL" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "Spécification du schéma nécessaire lors de la validation des URL" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Confirmation requise" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Exiger une confirmation explicite de l’utilisateur pour certaines actions." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Profondeur de l'arborescence" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profondeur de l'arborescence par défaut. Les niveaux plus profonds peuvent être chargés au fur et à mesure qu'ils sont nécessaires." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Intervalle de vérification des mises à jour" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "À quelle fréquence vérifier les mises à jour (définir à zéro pour désactiver)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Backup automatique" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Activer le backup automatique de la base de données et des fichiers médias" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Intervalle de sauvegarde automatique" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Spécifiez le nombre de jours entre les sauvegardes automatique" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Intervalle de suppression des tâches" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "Les résultats de la tâche en arrière-plan seront supprimés après le nombre de jours spécifié" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "Intervalle de suppression du journal d'erreur" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "Les logs d'erreur seront supprimés après le nombre de jours spécifié" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "Intervalle de suppression du journal de notification" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Les notifications de l'utilisateur seront supprimées après le nombre de jours spécifié" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "Activer le support du scanner de codes-barres dans l'interface web" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Délai d'entrée du code-barres" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Délai de traitement du code-barres" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Prise en charge de la webcam code-barres" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Autoriser la numérisation de codes-barres via la webcam dans le navigateur" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "Modifications de la pièce" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Activer le champ de modification de la pièce" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "Permettre la suppression de pièces utilisées dans un assemblage" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Copier les données de la pièce" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Copier les données de test par défaut lors de la duplication d'une pièce" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:1478 +#: common/models.py:1480 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:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Modèle" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1490 +#: common/models.py:1492 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:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Composant" -#: common/models.py:1496 +#: common/models.py:1498 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:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Vendable" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Stock initial" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Permettre la création d'un stock initial lors de l'ajout d'une nouvelle pièce" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permettre la création des données initiales du fournisseur lors de l'ajout d'une nouvelle pièce" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Icône par défaut de la catégorie de la pièce (vide signifie aucune icône)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Renforcer les unités des paramètres" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Si des unités sont fournies, les valeurs de paramètre doivent correspondre aux unités spécifiées" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Nombre minimal de décimales" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Nombre minimum de décimales à afficher lors de l'affichage des prix" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inclure les réductions de prix dans le calcul du prix global" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "La tarification historique des bons de commande remplace les réductions de prix des fournisseurs" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utiliser les prix des données de stock saisies manuellement pour calculer les prix" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Exclure les articles en stock datant de plus de ce nombre de jours des calculs de prix" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "N'utiliser que des pièces de variante actives pour calculer le prix de la variante" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "Intervalle de regénération des prix" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Nombre de jours avant la mise à jour automatique du prix de la pièce" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "Si disponible, les prix internes remplacent les calculs de la fourchette de prix" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "Journal des erreurs" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Activer les rapports de test" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Activer la génération de rapports de test" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Joindre des rapports de test" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Lors de l'impression d'un rapport de test, joignez une copie du rapport de test à l'article en stock associé" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Modèle pour générer des codes par défaut pour les articles en stock" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Nombre de jours pendant lesquels les articles en stock sont considérés comme périmés avant d'expirer" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "Afficher les pièces en stock installées" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "Activer les retours de commandes" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "Activer la fonctionnalité de retour de commande dans l'interface utilisateur" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "Modèle de référence de retour de commande" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "Modifier les retours de commandes terminées" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "Autoriser la modification des retours après leur enregistrement" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Modèle requis pour générer le champ de référence du bon de commande" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "Activer la création d'expédition par défaut avec les bons de commandes" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Autoriser la modification des commandes de vente après avoir été expédiées ou complétées" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modèle requis pour générer le champ de référence de bon de commande" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Autoriser la modification des bons de commande après avoir été expédiés ou complétés" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activer l'auto-inscription via SSO pour les utilisateurs sur les pages de connexion" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Email requis" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Remplir automatiquement les détails de l'utilisateur à partir des données de compte SSO" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Vérifier que tous les plugins sont installés au démarrage - activer dans les environnements conteneurs" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "Activer les codes projet" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Activer la fonctionnalité d'inventaire pour enregistrer les niveaux de stock et le calcul de la valeur du stock" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Nombre de jours entre l'enregistrement automatique des stocks (définir à zéro pour désactiver)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 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:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:2227 +#: common/models.py:2229 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:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 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:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:2245 +#: common/models.py:2247 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:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:2263 +#: common/models.py:2265 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:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:2269 +#: common/models.py:2271 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:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:2275 +#: common/models.py:2277 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:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:2330 +#: common/models.py:2332 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:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:2338 +#: common/models.py:2340 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:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:2346 +#: common/models.py:2348 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:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:2353 +#: common/models.py:2355 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:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Recherche du fournisseur de pièces" -#: common/models.py:2359 +#: common/models.py:2361 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:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:2365 +#: common/models.py:2367 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:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:2371 +#: common/models.py:2373 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:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:2377 +#: common/models.py:2379 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:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:2383 +#: common/models.py:2385 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:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:2390 +#: common/models.py:2392 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:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:2397 +#: common/models.py:2399 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:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:2409 +#: common/models.py:2411 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:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:2415 +#: common/models.py:2417 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:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:2422 +#: common/models.py:2424 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:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:2429 +#: common/models.py:2431 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:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:2436 +#: common/models.py:2438 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:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Rechercher les commandes retournées" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:2458 +#: common/models.py:2460 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:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Recherche Regex" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:2489 +#: common/models.py:2491 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:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "Longueur maximale des chaînes affichées dans les tableaux" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Utilisateur" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Prix" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "Jeton" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "ID message" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "Hôte" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Entête" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Corps" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "Id" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titre" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Titre" msgid "Link" msgstr "Lien" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Publié" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Auteur" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Résumé" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Lu" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "Cette nouvelle a-t-elle été lue ?" msgid "Image" msgstr "Image" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Fichier image" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbole" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "Symbole d'unité facultatif" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Définition" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "Définition de l'unité" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Pièce jointe" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Fichier manquant" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Lien externe manquant" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Commentaire" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Nouveau {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 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:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "{verbose_name} annulé" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "Une commande qui vous est assignée a été annulée" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "Articles reçus" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "Des articles d'un bon de commande ont été reçus" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "Erreur déclenchée par le plugin" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "En cours d'exécution" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "Tâches en attente" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "Tâches planifiées" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "Tâches échouées" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "ID de la tâche" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "ID unique de la tâche" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "Verrouillé" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "Heure verrouillé" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "Nom de la tâche" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "Fonction" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "Nom de la fonction" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "Arguments" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "Arguments tâche" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "Mots-clés Arguments" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "Mots-clés arguments tâche" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Nom du fichier" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "Champs Correspondants" msgid "Match Items" msgstr "Articles correspondants" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "Les champs correspondants ont échoué" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Pièces importées" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "La pièce interne est active" msgid "Supplier is Active" msgstr "Le fournisseur est actif" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Société" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Entreprises" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Description de la société" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "Description de la société" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Site web" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "Site Web de la société" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Numéro de téléphone" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Numéro de téléphone de contact" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Adresse e-mail de contact" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Contact" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Point de contact" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Lien externe vers les informations de l'entreprise" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "Cette entreprise est-elle active ?" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Vendez-vous des objets à cette entreprise?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Est-ce que vous achetez des articles à cette entreprise?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Cette entreprise fabrique-t-elle des pièces?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Devise par défaut utilisée pour cette entreprise" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Adresse" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "Adresses" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "Sélectionner une entreprise" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "Intitulé de l'adresse" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "Titre décrivant la saisie de l'adresse" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "Adresse principale" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "Sélectionner comme adresse principale" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Ligne 1" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "Adresse" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Ligne 2" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "Seconde ligne d'adresse" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Code postal" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "Ville / Région" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "Code postal Ville / Région" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "État / Province" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "État ou province" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "Pays" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "Pays" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "Notes du livreur" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "Instructions pour le livreur" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "Notes pour la livraison interne" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "Notes internes pour la livraison" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "Lien vers les informations de l'adresse (externe)" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Pièces du fabricant" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Sélectionner un fabricant" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Nom du paramètre" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Valeur" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Valeur du paramètre" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Unités" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Unités du paramètre" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Pièce fournisseur" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Sélectionner un fabricant" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "Lien de la pièce du fournisseur externe" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "coût de base" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Conditionnement de l'article" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "Conditionnement de l'article" msgid "Pack Quantity" msgstr "Nombre de paquet" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "plusieurs" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "Quantité disponible auprès du fournisseur" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "Disponibilité mise à jour" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "Date de dernière mise à jour des données de disponibilité" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Devise par défaut utilisée pour ce fournisseur" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Télécharger l'image depuis l'URL" msgid "Delete image" msgstr "Supprimer image" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Client" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Téléphone" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Supprimer" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "Supprimer la pièce de fabricant" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Pièces Internes" @@ -4838,7 +4939,7 @@ msgstr "Aucune information sur le fabricant disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "Supprimer la pièce du fournisseur" msgid "No supplier information available" msgstr "Aucune information de fournisseur disponible" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Éléments en stock" @@ -5022,99 +5123,107 @@ msgstr "Nouveaux Clients" msgid "New Company" msgstr "Nouvelle Entreprise" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Placé" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "Données" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "Erreurs" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "Valide" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Inconnu" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "Impression" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "Aucun média" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "Déconnecté" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "Imprimante Etiquette" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "Impression directe des étiquettes pour divers articles." -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "Emplacement Imprimante" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "Porter de l'imprimante sur un emplacement spécifique" @@ -5303,7 +5412,7 @@ msgstr "Configuration de la machine" msgid "Config type" msgstr "Type de configuration" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "Type de configuration" msgid "Total Price" msgstr "Prix Total" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "Possède un Tarif" msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Commande" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "Commande Complétée" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "Commande En Attente" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "Retour de commande" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Prix total pour cette commande" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Devise de la commande" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "Description de la commande (facultatif)" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date." -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Créé par" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Utilisateur ou groupe responsable de cette commande" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "Adresse de l'entreprise pour cette commande" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "Statut de la commande d'achat" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "Référence du fournisseur" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "Code de référence de la commande fournisseur" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "reçu par" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Référence client " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "expédié par" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 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:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "Contexte" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "supprimé" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "Pièce fournisseur" msgid "Received" msgstr "Reçu" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 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:1642 +#: order/models.py:1635 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:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Expédié" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Date de Livraison" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Ligne" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Article" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "Statut du retour de commande" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Entrez les numéros de série pour les articles de stock entrants" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Code-barres" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" @@ -5910,7 +6019,7 @@ msgstr "Le code-barres est déjà utilisé" msgid "An integer quantity must be provided for trackable parts" msgstr "Une quantité entière doit être fournie pour les pièces tracables" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "Devise du prix de vente" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "Aucune correspondance trouvée pour les numéros de série suivants" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Perdu" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Retourné" @@ -6184,8 +6293,8 @@ msgstr "Dupliquer la sélection" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "Expéditions en attente" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Actions" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Révision" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Mots-clés" @@ -6427,7 +6537,7 @@ msgstr "Image pièce" msgid "Category ID" msgstr "ID catégorie" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "Nom catégorie" @@ -6440,11 +6550,11 @@ msgstr "ID Emplacement par défaut" msgid "Default Supplier ID" msgstr "ID Fournisseur par défaut" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -6452,23 +6562,23 @@ msgstr "Stock Minimum" msgid "Used In" msgstr "Utilisé pour" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Construction" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Coût minimal" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Coût maximal" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "Chemin catégorie" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Catégorie" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "Utilise" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Emplacement par défaut" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Stock total" @@ -6641,421 +6755,421 @@ msgstr "Stock total" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "Structurel" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Mots-clés par défaut" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Nom de l'article" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "Est-ce que cette pièce est active ?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Création Utilisateur" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "Propriétaire responsable de cette pièce" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "Coût minimum de vente" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "Notes additionnelles" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Activé" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Requis" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Validée" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" @@ -7457,326 +7571,326 @@ msgstr "Devise d'achat de l'item" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "Prise d'inventaire" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "Dernier numéro de série" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "Rechercher un numéro de série" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "Modifier" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "Aucune action spécifiée" msgid "No matching action found" msgstr "Aucune action correspondante trouvée" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Aucune correspondance trouvée pour les données du code-barres" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "Extension" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "Résultat" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Numéro de série" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "Sélectionner un propriétaire" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantité doit être de 1 pour un article avec un numéro de série" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "Les numéros de série doivent être une liste de nombres entiers" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Rejeté" msgid "Quarantined" msgstr "En quarantaine" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Ancienne entrée de suivi de stock" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Article en stock créé" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Article de stock modifié" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Numéro de série attribué" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Stock comptabilisé" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Stock ajouté manuellement" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Stock supprimé manuellement" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Emplacement modifié" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Stock mis à jour" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Installé dans l'assemblage" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Retiré de l'assemblage" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Composant installé" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Composant retiré" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Séparer de l'élément parent" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Articles de stock fusionnés" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Converti en variante" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "La sortie de l'ordre de construction a été créée" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Sortie de l'ordre de construction terminée" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "La sortie de l'ordre de construction a été refusée" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Consommé par ordre de construction" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Commandes expédiées vs. ventes" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Livraisons reçues vs. commandes réalisées" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Livraisons retournées vs. commandes retournées" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Envoyé au client" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Retourné par le client" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Assemblage" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "Accéder au numéro de série suivant" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Supprimer" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Quantité requise" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "Dernier numéro de série" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Ajouter" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Oui" msgid "No" msgstr "Non" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Utilisateurs" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "Sélectionner quels utilisateurs sont assignés à ce groupe" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Informations personnelles" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Droits" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "Dates importantes" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Groupe" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Vue" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Modifier" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 5a25c0d5ba..0fb0eefad0 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: he\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "הזן תאריך סיום" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "מספרים סידוריים לא נמצאו" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "שם" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "שם" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "קוד מטבע לא מאושר" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "ערוך מידע אודות המשתמש" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "הגדר סיסמא" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "הסיסמאות מוכרחות להיות תואמות" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "מידע אודות המערכת" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "מקט" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "רכיב" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "קישור חיצוני" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "כמות" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "מספרים סידוריים" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "מבוטל" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "הושלם" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "משתמש" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "קישור" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "קובץ מצורף" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "קובץ חסר" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "הערה" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "שם קובץ" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "מוקם" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "נשלח" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "אבד" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "הוחזר" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "לא פורטה הפעולה" msgid "No matching action found" msgstr "פעולה מבוקשת לא נמצאה" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "נדחה" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "מיקום שונה" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "נשלח ללקוח" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "הוחזר מלקוח" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 4f6ce2209a..18409dbfce 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: hi\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "तारीख दर्ज करें" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "तारीख दर्ज करें" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "कनेक्शन त्रुटि" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index fdd0b307b4..d252fb2ff1 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: hu\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Nincs jogosultságod az adatok megtekintéséhez" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Érvénytelen mennyiségi egység ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Nincs érték megadva" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "{original} átváltása {unit}-ra sikertelen" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Hibás mennyiség" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Hibás mennyiség ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "A hiba részleteit megtalálod az admin panelen" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Dátum megadása" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Megjegyzések" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "A(z) '{name}' érték nem a szükséges minta szerinti" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "A megadott érték nem felel meg a szükséges mintának: " @@ -132,82 +132,82 @@ msgstr "MFA regisztráció nincs engedélyezve." msgid "The provided primary email address is not valid." msgstr "A megadott elsődleges email cím nem valós." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "A megadott email domain nincs jóváhagyva." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Regisztráció le van tiltva." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Üres sorozatszám" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Duplikált sorozatszám" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Hibás tartomány: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Csoport tartomány {group} több mint az engedélyezett ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Hibás csoport-sor: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Nem található sorozatszám" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Az egyedi sorozatszámok számának ({len(serials)}) meg kell egyeznie a mennyiséggel ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "HTML tag-ek eltávolítása ebből az értékből" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Csatlakozási hiba" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "A kiszolgáló érvénytelen státuszkóddal válaszolt" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Kivétel történt" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "A kiszolgáló érvénytelen Content-Length értéket adott" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "A kép mérete túl nagy" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "A kép letöltés meghaladja a maximális méretet" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "A kiszolgáló üres választ adott" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" @@ -364,8 +364,8 @@ msgstr "Kínai (Hagyományos)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Bejelentkezés" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Plugin meta adatok" msgid "JSON metadata field, for use by external plugins" msgstr "JSON meta adat mező, külső pluginok számára" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Helytelenül formázott minta" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Ismeretlen formátum kulcs lett megadva" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Hiányzó formátum kulcs" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Az azonosító mező nem lehet üres" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Az azonosítónak egyeznie kell a mintával" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Azonosító szám túl nagy" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Név" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Név" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Elérési út" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Markdown megjegyzések (opcionális)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Vonalkód adat" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Vonalkód hash" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Egyedi vonalkód hash" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Létező vonalkód" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Kiszolgálóhiba" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Pénznem" msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Felhasználónév" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Keresztnév" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "A felhasználó keresztneve" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Vezetéknév" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "A felhasználó vezetékneve" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "A felhasználó e-mail címe" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "Személyzet" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "Rendszergazda" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "Aktív" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "Aktív a felhasználói fiók" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Önnek nincs joga változtatni ezen a felhasználói szerepkörön." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Csak a superuser-ek hozhatnak létre felhasználókat" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "A fiókod sikeresen létrejött." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Kérlek használd a jelszó visszállítás funkciót a belépéshez" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Üdvözlet az InvenTree-ben" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Távoli kép" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "A távoli kép URL-je" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Email backend nincs beállítva" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen" @@ -691,122 +691,122 @@ msgstr "Érvénytelen fizikai mértékegység" msgid "Not a valid currency code" msgstr "Érvénytelen pénznem kód" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Túlszállítás nem lehet negatív" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Túlszállítás nem lehet több mint 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Érvénytelen érték a túlszállításra" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Felhasználói információ módosítása" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Jelszó beállítása" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "A jelszavaknak egyeznie kell" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Rossz jelszó lett megadva" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Rendszerinformáció" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Verzió információk" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "Lépcsőzetes" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Szülő gyártás" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "Hozzám rendelt" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Kiállította" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Opcionális" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Gyártmány" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Követett" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Lefoglalva" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Lefoglalva" msgid "Available" msgstr "Elérhető" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Gyártási utasítás" msgid "Build Orders" msgstr "Gyártási utasítások" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Meg kell adni felelős felhasználót vagy csoportot" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Gyártási rendelés alkatrész nem változtatható" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Gyártási utasítás azonosító" msgid "Reference" msgstr "Azonosító" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Gyártás rövid leírása (opcionális)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Alkatrész" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Válassz helyet ahonnan készletet vegyünk el ehhez a gyártáshoz (hagyd üresen ha bárhonnan)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Válassz helyet ahol a kész tételek tárolva lesznek" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Befejezés dátuma" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "elkészítette" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Indította" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Felelős" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Külső link" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Link külső URL-re" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Priorítás" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Gyártási utasítás priorítása" msgid "Project Code" msgstr "Projektszám" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Projekt kód a gyártáshoz" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "A gyártási foglalások teljesítése háttérfeladat elvégzése nem sikerült" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "A {build} gyártási utasítás elkészült" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:973 +#: build/models.py:974 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:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "A mennyiség nem lehet több mint a gyártási mennyiség" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "A {serial} gyártási kimenet nem felelt meg az összes kötelező teszten" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Gyártás objektum" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Gyártás objektum" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1616 +#: build/models.py:1617 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:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Alkatrész neve" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "Projekt kód címke" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Gyártási kimenet nem egyezik a szülő gyártással" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Kimeneti alkatrész nem egyezik a gyártási utasításban lévő alkatrésszel" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,298 +1337,298 @@ msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Hely" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "Legyártott készlet helye" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:331 +#: build/serializers.py:375 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:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "Egyedi követésre jelölt alkatrészeknél kötelező sorozatszámot megadni" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Selejtezet gyártási kimenetek helye" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Foglalások törlése" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Selejtezett kimenetek foglalásainak felszabadítása" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Selejtezés oka" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Állapot" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "Lefoglalt készlet felhasználása" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "Az összes ehhez a gyártáshoz lefoglalt készlet felhasználása" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Nem engedélyezett" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hogyan kezeljük az gyártáshoz rendelt egyéb készletet" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a gyártási utastáshoz" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Fogadd el hogy a szükséges számú gyártási kimenet nem lett elérve" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Gyártás sor" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Gyártás sor tétel" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási utasítás" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Készlet hely ahonnan az alkatrészek származnak (hagyd üresen ha bárhonnan)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Készlet tételek kizárása erről a kiválasztott helyről" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "A különböző helyeken lévő készlet egyenrangúan felhasználható" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "Hely neve" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Csomagolás" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Alkatrész ID" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "Alkatrész IPN" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Alkatrész leírása" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1631,89 +1639,90 @@ msgstr "" msgid "Serial Number" msgstr "Sorozatszám" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "Lefoglalt mennyiség" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "Elérhető mennyiség" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Követésre kötelezett" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Változatok" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Lefoglalt készlet" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "Rendelve" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Elérhető készlet" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "Külső raktárkészlet" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1733,23 +1742,23 @@ msgstr "Felfüggesztve" msgid "Cancelled" msgstr "Törölve" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Kész" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "A gyártási utasításhoz készlet szükséges" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Késésben lévő gyártás" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "A {bo} gyártás most már késésben van" @@ -1878,13 +1887,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1917,8 +1926,8 @@ msgid "Completed Outputs" msgstr "Befejezett kimenetek" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1928,12 +1937,12 @@ msgstr "Befejezett kimenetek" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Vevői rendelés" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Prioritás" @@ -1969,7 +1978,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:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Cél" @@ -1982,13 +1991,13 @@ msgstr "A cél hely nincs megadva" msgid "Allocated Parts" msgstr "Lefoglalt alkatrészek" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1998,7 +2007,7 @@ msgstr "Köteg" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Létrehozva" @@ -2121,7 +2130,7 @@ msgstr "Új gyártási utasítás" msgid "Build Order Details" msgstr "Gyártási utasítás részletei" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2140,19 +2149,19 @@ msgstr "Befejezetlen kimenetek" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2210,1631 +2219,1631 @@ msgstr "{name.title()} Fájl" msgid "Select {name} file to upload" msgstr "{name} fájl kiválasztása feltöltéshez" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Frissítve" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Legutóbbi frissítés időpontja" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "A site URL blokkolva van a konfigurációban" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Egyedi projektszám" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Projekt leírása" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "A projektért felelős felhasználó vagy csoport" -#: common/models.py:783 +#: common/models.py:785 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:787 +#: common/models.py:789 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Nincs csoport" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Függőben levő migrációk" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "Függőben levő adatbázis migrációk" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Cég neve" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "Válassz alap pénznemet az ár számításokhoz" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "Támogatott valuták" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "Támogatott valuták listája" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "Árfolyam frissítési gyakoriság" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Milyen gyakran frissítse az árfolyamokat (nulla a kikapcsoláshoz)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "nap" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "Árfolyam frissítő plugin" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "Kiválasztott árfolyam frissítő plugin" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Letöltési méret korlát" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Maximum megengedett letöltési mérete a távoli képeknek" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "Felhasznált User-agent az URL-ről letöltéshez" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "A külső URL-ről letöltéshez használt user-agent felülbírálásának engedélyezése (hagyd üresen az alapértelmezéshez)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "Erős URL validáció" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "Sablon specifikáció igénylése az URL validálásnál" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Megerősítés igénylése" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Kérjen felhasználói megerősítést bizonyos műveletekhez" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Fa mélység" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Alapértelmezett mélység a fa nézetekben. A mélyebb szintek betöltődnek ha szükségesek." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Frissítés keresés gyakorisága" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Milyen gyakran ellenőrizze van-e új frissítés (0=soha)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Automatikus biztonsági mentés" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Adatbázis és média fájlok automatikus biztonsági mentése" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Automata biztonsági mentés gyakorisága" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Hány naponta készüljön automatikus biztonsági mentés" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Feladat törlési gyakoriság" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "Háttérfolyamat eredmények törlése megadott nap eltelte után" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "Hibanapló törlési gyakoriság" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "Hibanapló bejegyzések törlése megadott nap eltelte után" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "Értesítés törlési gyakoriság" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Felhasználói értesítések törlése megadott nap eltelte után" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "Vonalkód olvasó támogatás engedélyezése a web felületen" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Vonalkód beadási késleltetés" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Vonalkód beadáskor a feldolgozás késleltetési ideje" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Webkamerás vonalkód olvasás" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Webkamerás kódolvasás engedélyezése a böngészőből" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "Alkatrész változatok" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Alkatrész változat vagy verziószám tulajdonság használata" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrészre is" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:1478 +#: common/models.py:1480 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:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Sablon" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1490 +#: common/models.py:1492 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:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Összetevő" -#: common/models.py:1496 +#: common/models.py:1498 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:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Import segéd megjelenítése néhány alkatrész nézetben" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Kezdeti készlet adatok" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Kezdeti készlet létrehozása új alkatrész felvételekor" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Kezdeti beszállítói adatok létrehozása új alkatrész felvételekor" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Csak választható mértékegységek" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "A megadott mértékegység csak a beállított lehetőségekből legyen elfogadva" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek min. száma" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek minimális száma az árak megjelenítésekor" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek max. száma" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek maximális száma az árak megjelenítésekor" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Beszállítói ársávok megjelenítése az általános árkalkulációkban" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Beszerzési árelőzmények felülírják a beszállítói ársávokat" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "A kézzel bevitt készlet tétel árak használata az árszámításokhoz" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Az ennyi napnál régebbi készlet tételek kizárása az árszámításból" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Alkatrészváltozat árak megjelenítése az általános árkalkulációkban" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "Csak az aktív alkatrészváltozatok használata az árazásban" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "Árazás újraszámítás gyakoriság" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "Ha elérhetőek az árkalkulációkban a belső árak lesznek alapul véve" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "Jelentési hibák naplózása" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "Jelentések generálása közben jelentkező hibák naplózása" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Tulajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "Beépített készlet megjelenítése" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "Beépített készlet tételek megjelenítése a készlet táblákban" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "Tételek telepítésekor a darabjegyzék ellenőrzése" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "A beépített tételeknek a szülő elem darabjegyzékében szerepelniük kell" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "Felelős tulajdonos szükséges" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "Minden rendeléshez felelőst kell rendelni" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "Blokkolás a tesztek sikeres végrehajtásáig" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Nem lehet gyártási tételt befejezni amíg valamennyi kötelező teszt sikeres nem lett" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "Visszavétel engedélyezése" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "Visszavételek engedélyezése a felületen" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "Visszavétel azonosító minta" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "Szükséges minta a visszavétel azonosító mező előállításához" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "Befejezett visszavétel szerkesztése" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "Visszavétel szerkesztésének engedélyezése befejezés után" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "Beszerzési rendelések automatikus befejezése" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "A beszerzési rendelés automatikus befejezése ha minden sortétel beérkezett" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése SSO-n keresztül a bejelentkező oldalon" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Feliratkozás korlátozása megadott domain-ekre (vesszővel elválasztva, @-al kezdve)" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "Plugin frissítések ellenőrzése" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "Frissítések periódikus ellenőrzésének engedélyezése a telepített pluginokra" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "Projektszámok engedélyezése" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "Projektszámok használatának engedélyezése a projektek követéséhez" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Leltár funkció engedélyezése a készlet mennyiség és érték számításhoz" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "Külső helyek nélkül" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Külső helyek figyelmen kívül hagyása a leltár számításoknál" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Hány naponta történjen automatikus leltár (nulla egyenlő tiltva)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/models.py:2143 +#: common/models.py:2145 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:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "Felhasználók teljes nevének megjelenítése" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "Felhasználói név helyett a felhasználók teljes neve jelenik meg" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "Teszt állomás adatok engedélyezése" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "Tesztállomás adatok gyűjtésének teszt eredménybe gyűjtésének engedélyezése" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 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:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:2227 +#: common/models.py:2229 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:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "Hibás alkatrészjegyzékek megjelenítése" -#: common/models.py:2239 +#: common/models.py:2241 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:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:2245 +#: common/models.py:2247 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:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:2263 +#: common/models.py:2265 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:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:2287 +#: common/models.py:2289 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:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:2311 +#: common/models.py:2313 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:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "Függő vevői szállítmányok megjelenítése" -#: common/models.py:2317 +#: common/models.py:2319 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:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:2330 +#: common/models.py:2332 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:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:2346 +#: common/models.py:2348 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:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:2359 +#: common/models.py:2361 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:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:2365 +#: common/models.py:2367 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:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2371 +#: common/models.py:2373 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:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:2377 +#: common/models.py:2379 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:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:2383 +#: common/models.py:2385 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:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:2390 +#: common/models.py:2392 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:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:2409 +#: common/models.py:2411 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:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:2415 +#: common/models.py:2417 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:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:2422 +#: common/models.py:2424 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:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:2429 +#: common/models.py:2431 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:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:2436 +#: common/models.py:2438 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:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Visszavétel keresése" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "Visszavételek megjelenítése a keresés előnézet ablakban" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "Inaktív visszavételek kihagyása" -#: common/models.py:2450 +#: common/models.py:2452 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:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:2458 +#: common/models.py:2460 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:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Regex keresés" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "Reguláris kifejezések engedélyezése a keresésekben" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "Teljes szó keresés" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "A keresések csak teljes szóra egyező találatokat adjanak" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:2477 +#: common/models.py:2479 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:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:2483 +#: common/models.py:2485 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:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:2489 +#: common/models.py:2491 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:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2516 +#: common/models.py:2518 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:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "Hibariportok fogadása" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "Értesítések fogadása a rendszerhibákról" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "Utoljára használt nyomtató gépek" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "Az utoljára használt nyomtató tárolása a felhasználóhoz" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Felhasználó" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Ár" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Titok" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Fejléc" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Törzs" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "Azonosító" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Cím" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3845,28 +3854,28 @@ msgstr "Cím" msgid "Link" msgstr "Link" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Közzétéve" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Szerző" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Elolvasva" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3876,200 +3885,292 @@ msgstr "Elolvasva?" msgid "Image" msgstr "Kép" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Képfájl" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "A mértékegységnek valós azonosítónak kell lennie" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "Egység neve" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Szimbólum" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "Opcionális mértékegység szimbólum" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definíció" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "Mértékegység definíció" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Melléklet" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Hiányzó fájl" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Hiányzó külső link" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Megjegyzés" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "Fájl mérete" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "Fájlméret bájtban" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "Kulcs" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Új {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 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:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "{verbose_name} megszakítva" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "Egy hozzád rendelt megrendelés megszakítva" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "Készlet érkezett" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "Készlet érkezett egy beszerzési megrendeléshez" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "Készlet érkezett vissza egy visszavétel miatt" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "Plugin hiba" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "Folyamatban" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "Folyamatban lévő feladatok" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "Ütemezett Feladatok" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "Hibás feladatok" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "Feladat ID" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "Egyedi feladat ID" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "Zárol" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "Zárolási idő" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "Feladat neve" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "Funkció" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "Funkció neve" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "Paraméterek" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "Feladat paraméterei" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "Kulcsszó paraméterek" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "Feladat kulcsszó paraméterek" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Fájlnév" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "Modell típusa" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4117,15 +4218,15 @@ msgstr "Mezők egyeztetése" msgid "Match Items" msgstr "Tételek egyeztetése" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "Mezők egyeztetése sikertelen" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Importált alkatrészek" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4156,214 +4257,214 @@ msgstr "A saját alkatrész Aktív" msgid "Supplier is Active" msgstr "A Beszállító Aktív" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Cég" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Cégek" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Cég leírása" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "A cég leírása" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Weboldal" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "Cég weboldala" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Telefonszám" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Kapcsolattartó telefonszáma" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Kapcsolattartó email címe" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Névjegy" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Kapcsolattartó" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Link a külső céginformációhoz" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "Ez a vállalat aktív?" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Értékesítesz alkatrészeket ennek a cégnek?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Vásárolsz alkatrészeket ettől a cégtől?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Gyárt ez a cég alkatrészeket?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Cím" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "Címek" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "Cég kiválasztása" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "Cím megnevezése" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "Címhez tartozó leírás, megnevezés" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "Elsődleges cím" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "Beállítás elsődleges címként" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "1. sor" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "Cím első sora" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "2. sor" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "Cím második sora" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Irányítószám" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "Város/Régió" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "Irányítószám város/régió" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "Állam/Megye" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "Állam vagy megye" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "Ország" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "Cím országa" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "Megjegyzés a futárnak" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "Futárnak szóló megjegyzések" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "Belső szállítási megjegyzések" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "Szállítási megjegyzések belső használatra" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "Link a címinformációkhoz (külső)" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4373,13 +4474,13 @@ msgstr "Válassz alkatrészt" msgid "Manufacturer" msgstr "Gyártó" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4388,72 +4489,72 @@ msgstr "Gyártó kiválasztása" msgid "MPN" msgstr "MPN (Gyártói cikkszám)" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Érték" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Mértékegység" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Beszállítói alkatrész" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "A csomagolási egységnek kompatibilisnek kell lennie az alkatrész mértékegységgel" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "Csomagolási mennyiségnek nullánál többnek kell lennie" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4466,56 +4567,56 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr msgid "Supplier" msgstr "Beszállító" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "Ez a szállítói termék aktív?" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "alap költség" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4525,43 +4626,43 @@ msgstr "Alkatrész csomagolás" msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: company/models.py:860 +#: company/models.py:857 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:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "többszörös" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "Beszállítónál elérhető mennyiség" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "Elérhetőség frissítve" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Beszállító által használt alapértelmezett pénznem" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4631,16 +4732,16 @@ msgstr "Kép letöltése URL-ről" msgid "Delete image" msgstr "Kép törlése" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Vevő" @@ -4654,7 +4755,7 @@ msgid "Phone" msgstr "Telefonszám" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "Kép eltávolítása" @@ -4663,19 +4764,19 @@ msgid "Remove associated image from this company" msgstr "Céghez rendelt kép eltávolítása" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Törlés" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "Kép feltöltése" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "Kép letöltése" @@ -4828,8 +4929,8 @@ msgid "Delete manufacturer part" msgstr "Gyártói alkatrész törlése" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Belső alkatrész" @@ -4839,7 +4940,7 @@ msgstr "Nincs elérhető gyártói információ" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4929,8 +5030,8 @@ msgstr "Beszállítói alkatrész törlése" msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4984,16 +5085,16 @@ msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Készlet tételek" @@ -5023,99 +5124,107 @@ msgstr "Új vevő" msgid "New Company" msgstr "Új cég" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Kiküldve" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "Oszlopok" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "Adat" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "Hibák" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "Érvényes" @@ -5167,19 +5276,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5203,52 +5312,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "Másolatok" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "Címkénkénti nyomtatandó mennyiség" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "Csatlakoztatba" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Ismeretlen" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "Nyomtatás" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "Nincs papír" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "Nincs kapcsolat" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "Címkenyomtató" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "Közvetlen címkenyomtatás különféle tételekre." -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "Nyomtató helye" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "Nyomtató korlátozása egy készlethelyhez" @@ -5304,7 +5413,7 @@ msgstr "Gép konfiguráció" msgid "Config type" msgstr "Konfiguráció típusa" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5313,7 +5422,7 @@ msgstr "Konfiguráció típusa" msgid "Total Price" msgstr "Teljes ár" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5346,232 +5455,232 @@ msgstr "Van árazás" msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Rendelés" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "A rendelés teljesítve" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "A rendelés függőben" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "Visszavétel" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Rendelés pénzneme" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Megrendeléshez használt pénznem (hagyd üresen a cégnél alapértelmezetthez)" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "A kapcsolattartó nem egyezik a kiválasztott céggel" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "Rendelés leírása (opcionális)" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd." -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Készítette" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "Kapcsolattartó ehhez a rendeléshez" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "Cég címei ehhez a rendeléshez" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "érkeztette" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:571 +#: order/models.py:572 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:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:991 +#: order/models.py:992 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:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "szállította" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:1088 +#: order/models.py:1081 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:1093 +#: order/models.py:1086 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:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1393 +#: order/models.py:1386 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:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "Sortétel leírása (opcionális)" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "Kontextus" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "törölve" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5581,329 +5690,329 @@ msgstr "Beszállítói alkatrész" msgid "Received" msgstr "Beérkezett" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1536 +#: order/models.py:1529 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:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 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:1642 +#: order/models.py:1635 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:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Kiszállítva" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Szállítási dátum" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "Kézbesítés dátuma" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1973 +#: order/models.py:1966 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:1976 +#: order/models.py:1969 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:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 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:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Sor" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Tétel" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "Visszavétel azonosító" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "Visszavétel állapota" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 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:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "Visszavétel dátuma" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "Sortétel visszaküldésének vagy javításának költsége" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "Kész sorok" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "Beszállító neve" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "Rendelés lezárása teljesítetlen sortételek esetén is" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "Automata árazás" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Beszerzési ár automatikus számítása a beszállítói alkatrész adatai alapján" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "Elemek összevonása" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "Azonos forrás és cél dátumú Alkatrész tételeinek összevonása egy tételre" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Vonalkód" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "Beolvasott vonalkód" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" @@ -5911,7 +6020,7 @@ msgstr "Ez a vonalkód már használva van" msgid "An integer quantity must be provided for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" @@ -5923,59 +6032,59 @@ msgstr "A cél helyet kötelező megadni" msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "Visszavétel sortétel" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavétellel" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "Csak folyamatban lévő megrendelés tételeit lehet bevételezni" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "Sortétel pénzneme" @@ -5983,7 +6092,7 @@ msgstr "Sortétel pénzneme" msgid "Lost" msgstr "Elveszett" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Visszaküldve" @@ -6185,8 +6294,8 @@ msgstr "Kijelöltek másolása" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6371,7 +6480,7 @@ msgid "Pending Shipments" msgstr "Függő szállítmányok" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Műveletek" @@ -6402,21 +6511,22 @@ msgstr "A {part} egységára {price}-ra módosítva" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "IPN (Belső Cikkszám)" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Változat" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Kulcsszavak" @@ -6428,7 +6538,7 @@ msgstr "Alkatrész ábra" msgid "Category ID" msgstr "Kategória ID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "Kategória neve" @@ -6441,11 +6551,11 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -6453,23 +6563,23 @@ msgstr "Minimális készlet" msgid "Used In" msgstr "Felhasználva ebben" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Gyártásban" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Maximum költség" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "Szülő ID" @@ -6482,8 +6592,8 @@ msgstr "Szülő neve" msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6510,13 +6620,13 @@ msgstr "Szülő IPN" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6546,94 +6656,98 @@ msgstr "Felső szint" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "Lépcsőzetes" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "Szűrt eredmények tartalmazzák az alkategóriákat" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "Szülő" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "Szülő kategóriára szűrés" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "Fa kihagyása" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "Az adott kategória alkategóriáinak kihagyása" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "Van találat" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Kategória" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "Használ" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Alapértelmezett hely" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Teljes készlet" @@ -6642,421 +6756,421 @@ msgstr "Teljes készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "Szerkezeti" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz." -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Alapértelmezett kulcsszavak" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "Ikon" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "Ikon (opcionális)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Az '{self}' alkatrész nem használható a '{parent}' alkatrészjegyzékében (mert rekurzív lenne)" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Az '{parent}' alkatrész szerepel a '{self}' alkatrészjegyzékében (rekurzív)" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "Az IPN belső cikkszámnak illeszkednie kell a {pattern} regex mintára" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 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:917 +#: part/models.py:927 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:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 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:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:1015 +#: part/models.py:1027 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:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 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:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:1130 +#: part/models.py:1142 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:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:1155 +#: part/models.py:1167 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:1161 +#: part/models.py:1173 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:1167 +#: part/models.py:1179 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:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 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:1185 +#: part/models.py:1197 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:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 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:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "Alkatrész felelőse" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "Minimum költség felülbírálása" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "Maximum költség felülbírálása" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7064,367 +7178,367 @@ msgstr "Teljes készlet a leltárkor" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Dátum" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Riport" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Hibás sablon név - legalább egy alfanumerikus karakter kötelező" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" -#: part/models.py:3575 +#: part/models.py:3587 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:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "Már létezik ilyen azonosítójú Teszt sablon ehhez az alkatrészhez" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Engedélyezve" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Kötelező" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3635 +#: part/models.py:3647 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:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3642 +#: part/models.py:3654 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:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Lehetőségek" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "Szint" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:4266 +#: part/models.py:4279 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:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:4274 +#: part/models.py:4287 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:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:4308 +#: part/models.py:4321 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:4314 +#: part/models.py:4327 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:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4572 +#: part/models.py:4582 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:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" @@ -7450,7 +7564,7 @@ msgstr "Eredmények" msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" @@ -7458,326 +7572,326 @@ msgstr "Beszerzési pénzneme ennek a készlet tételnek" msgid "Number of parts using this template" msgstr "Ennyi alkatrész használja ezt a sablont" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "Nincs kiválasztva alkatrész" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Add meg a kezdeti készlet mennyiséget. Ha nulla akkor nem lesz készlet létrehozva." -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "Válassz beszállítót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "Riport fájl létrehozása a számított leltár adatokkal" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Megadott pénznem átváltása {default_currency}-re sikertelen" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Gyártható" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "Meglévő alkatrészjegyzék tételek törlése a másolás előtt" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "Sablon alkatrészektől örökölt alkatrészjegyzék tételek használata" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" @@ -7933,9 +8047,9 @@ msgid "Add stocktake information" msgstr "Leltár információ hozzáadása" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "Leltár" @@ -8175,61 +8289,65 @@ msgid "Part is virtual (not a physical part)" msgstr "Virtuális (nem kézzelfogható alkatrész)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "Alkatrész részletei" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "Gyártáshoz lefoglalva" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "Vevő rendeléshez lefoglalva" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "Minimális készlet" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "Ártartomány" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "Legutolsó sorozatszám" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "Sorozatszámra keresés" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "Alkatrész QR kódja" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "Vonalkód hozzárendelése az alkatrészhez" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "Számítás" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "Alkatrészhez rendelt kép eltávolítása" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "Nincs egyező kép" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "Részletek elrejtése" @@ -8289,7 +8407,7 @@ msgstr "Változatok" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -8331,11 +8449,11 @@ msgstr "Alkatrész árazás felülbírálása" msgid "Edit" msgstr "Szerkesztés" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -8499,8 +8617,8 @@ msgstr "Nincs megadva művelet" msgid "No matching action found" msgstr "Nincs egyező művelet" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Nincs egyező vonalkód" @@ -8525,52 +8643,52 @@ msgstr "Ez a vonalkód már egy másik tételé" msgid "No matching part data found" msgstr "Nem található megfelelő alkatrész adat" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "Nem található megfelelő beszállítói alkatrész" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "Több beszállítói alkatrész található" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "Beszállítói alkatrész található" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "Ez a termék már bevételezve" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "Beszállítói vonalkód nem található" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "Több egyező sortétel is található" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "Nincs egyező sortétel" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "Vonalkód nem egyezik egy létező készlet tétellel sem" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "Készlet tétel nem egyezik a sortétellel" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Nincs elegendő" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "Készlet tétel lefoglalva egy vevői rendeléshez" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "Nincs elég információ" @@ -8592,15 +8710,15 @@ msgstr "A '{order}' rendeléshez nem tartozik beszerzési rendelés" msgid "Purchase order does not match supplier" msgstr "A beszerzési rendelés nem egyezik a beszállítóval" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "Nem található függőben levő tétel a beszállítói alkatrészhez" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "A tétel bevételezéséhez további információ szükséges" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "Beszerzési rendelés tétele bevételezve" @@ -8757,7 +8875,7 @@ msgstr "Slack bejövő webhook URL" msgid "URL that is used to send messages to a slack channel" msgstr "URL az üzenetek küldéséhez egy a slack channel-re" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "Link megnyitása" @@ -8895,7 +9013,7 @@ msgstr "TME vonalkódok támogatása" msgid "The Supplier which acts as 'TME'" msgstr "A 'TME' beszállító" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "Csak a személyzeti felhasználók adminisztrálhatják a pluginokat" @@ -8903,36 +9021,36 @@ msgstr "Csak a személyzeti felhasználók adminisztrálhatják a pluginokat" msgid "Plugin installation is disabled" msgstr "Plugin telepítés letiltva" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "Plugin telepítése sikeres" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Plugin telepítve ide: {path}" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "Ez a plugin nem található a tárolóban" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "A plugin nem egy csomagolt plugin" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "Plugin csomag neve nem található" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "Plugin eltávolítás letiltva" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "Plugin nem eltávolítható mivel még aktív" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "Plugin eltávolítása sikeres" @@ -8944,10 +9062,6 @@ msgstr "Plugin beállítás" msgid "Plugin Configurations" msgstr "Plugin beállítások" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "Kulcs" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "Plugin kulcsa" @@ -8995,7 +9109,7 @@ msgstr "Bővítmény" msgid "Method" msgstr "Módszer" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "Nincs szerző" @@ -9092,43 +9206,43 @@ msgstr "Tlepítés nincs megerősítve" msgid "Either packagename of URL must be provided" msgstr "Vagy csomag nevet vagy URL-t meg kell adni" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "Teljes újratöltés" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "A plugin tárolók teljes újratöltése" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "Kényszerített újratöltés" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "Akkor is töltse újra a plugin tárolót ha már be lett töltve" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "Pluginok begyűjtése" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "Pluginok begyűjtése és a tárolóhoz adása" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "Plugin aktiválása" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "Plugin bekapcsolása" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "Konfiguráció törlése" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "Plugin konfiguráció törlése az adatbázisból" @@ -9265,7 +9379,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "Haladás" @@ -9404,7 +9518,7 @@ msgstr "Teszt eredmények" msgid "Test" msgstr "Teszt" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "Eredmény" @@ -9425,13 +9539,13 @@ msgid "No result" msgstr "Nincs eredmény" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Beépített tételek" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Sorozatszám" @@ -9451,7 +9565,7 @@ msgstr "part_image elem csak alkatrész példánynál használható" msgid "company_image tag requires a Company instance" msgstr "company_image elem csak cég példánynál használható" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "Hely ID" @@ -9460,58 +9574,58 @@ msgstr "Hely ID" msgid "Location Path" msgstr "Hely elérési út" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "Készlet tétel ID" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "Státuszkód" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "Beszállítói cikkszám" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "Beszállító ID" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "Vevő ID" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Beépítve ebbe" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "Gyártás ID" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "Vevői rendelés ID" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "Vevői rendelés azonosító" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Felülvizsgálat szükséges" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Törlés ha kimerül" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Lejárati dátum" @@ -9527,628 +9641,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "Szűrt eredmények tartalmazzák az alhelyeket" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "Szülő hely" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "Szülő helyre szűrés" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "Alkatrész fa" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "Lejárat előtt" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "Lejárat után" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Állott" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:974 +#: stock/api.py:973 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:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "Készlethely típus" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "Készlethely típusok" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Alapértelmezett ikon azokhoz a helyekhez, melyeknek nincs ikonja beállítva (válaszható)" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Készlethelyek" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "Külső" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "Ez egy külső készlethely" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "Helyszín típusa" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "Tárolóhely típus" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak itt tételek!" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "A beszállítói alkatrész típusa ('{self.supplier_part.part}') mindenképpen {self.part} kellene, hogy legyen" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "A tétel nem tartozhat saját magához" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "Ez a tétel be van építve egy másik tételbe?" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Felhasználva ebben" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "Felhasználva ebben a gyártásban" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "Egy egység beszerzési ára a beszerzés időpontjában" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "A mennyiség nem haladhatja meg az elérhető készletet ({self.quantity})" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "Ez a Teszt sablon nem létezik" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "Készlet tétel nem mozgatható mivel nincs készleten" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "Teszt állomás" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "A tesztet elvégző tesztállomás azonosítója" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "Elkezdődött" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "A teszt indításának időpontja" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "Befejezve" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "A teszt befejezésének időpontja" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "Az eredmény Teszt sablonja" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "Sablon azonosító vagy Teszt név szükséges" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "A tesztet nem lehet a kezdésnél hamarabb befejezni" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "Szériaszám túl nagy" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "Szülő tétel" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Csomagolási mennyiség használata: a megadott mennyiség ennyi csomag" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Lejárt" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "Gyermek tételek" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "Készlet tétel beszerzési ára, per darab vagy csomag" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "Add meg hány készlet tételt lássunk el sorozatszámmal" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "Beépítendő mennyiség" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "Adja meg a beépítendő mennyiséget" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "A beépítendő mennyiség legalább 1 legyen" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "A beépítendő mennyiség nem haladhatja meg az elérhető mennyiséget" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Készlet tétel hozzárendelt beszállítói alkatrésszel nem konvertálható" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "Válaszd ki a státuszváltásra szánt készlet tételeket" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "Nincs készlet tétel kiválasztva" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alhelyek" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "Felsőbb szintű készlet hely" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "Különböző állapotú készletek összevonásának engedélyezése" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "Nincs változás" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "Készlet tétel státusz kódja" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -10176,107 +10290,107 @@ msgstr "Elutasított" msgid "Quarantined" msgstr "Karanténban" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Örökölt készlet követési bejegyzés" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Készlet tétel létrehozva" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Szerkeszett készlet tétel" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Hozzárendelt sorozatszám" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Készlet leleltározva" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Készlet manuálisan hozzáadva" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Készlet manuálisan elvéve" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Hely megváltozott" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Készletadatok frissítve" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Gyártmányba beépült" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Gyártmányból eltávolítva" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Beépült összetevő tétel" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Eltávolított összetevő tétel" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Szülő tételből szétválasztva" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Összevont készlet tétel" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Alkatrészváltozattá alakítva" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Gyártási utasítás kimenete elkészült" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Gyártási utasítás kimenete kész" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Gyártási utasítás kimenete elutasítva" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Gyártásra felhasználva" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Vevői rendelésre kiszállítva" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Megrendelésre érkezett" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Visszavéve" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Vevőnek kiszállítva" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Vevőtől visszaérkezett" @@ -10317,7 +10431,7 @@ msgstr "Készlet tétel megjegyzések" msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" @@ -10372,7 +10486,7 @@ msgid "Transfer stock" msgstr "Készlet áthelyezése" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Vevőhöz rendelése" @@ -10413,7 +10527,7 @@ msgid "Delete stock item" msgstr "Készlet tétel törlése" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Gyártás" @@ -10471,7 +10585,7 @@ msgid "Navigate to next serial number" msgstr "Menj a következő sorozatszámhoz" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Nincs beállítva hely" @@ -10498,7 +10612,7 @@ msgid "No stocktake performed" msgstr "Még nem volt leltározva" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "készlet tétel" @@ -10607,7 +10721,7 @@ msgid "New Location" msgstr "Új hely" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "készlet hely" @@ -11110,7 +11224,7 @@ msgstr "Árfolyam" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Törlés" @@ -11131,7 +11245,7 @@ msgid "No project codes found" msgstr "Nem találhatók projektszámok" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "csoport" @@ -11788,7 +11902,7 @@ msgid "The following parts are low on required stock" msgstr "A következő alkatrészek szükséges készlete alacsony" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -12157,7 +12271,7 @@ msgstr "Alkatrészjegyzék betöltése az al-gyártmányhoz" msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" @@ -12177,30 +12291,30 @@ msgstr "Alkatrészjegyzék árazása nem teljes" msgid "No pricing available" msgstr "Nincsenek árak" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "Külső raktárkészlet" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "Fogyóeszköz tétel" @@ -12232,7 +12346,7 @@ msgstr "Alkatrészjegyzék megtekintése" msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "Szükséges alkatrész" @@ -12244,396 +12358,396 @@ msgstr "Örökölve a szülő alkatrészjegyzéktől" msgid "Edit Build Order" msgstr "Gyártási utasítás szerkesztése" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "Gyártási utasítás létrehozása" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "Gyártási utasítás törlése" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "Biztosan meg szeretnéd szakítani ezt a gyártást?" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "Ehhez a gyártáshoz készlet lett hozzárendelve" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "Ennek a gyártásnak befejezetlen kimenetei vannak" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "Gyártási utasítás készen áll a befejezésre" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "A rendelés nem jelölhető késznek mivel függő kimenetek vannak" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "Gyártási utasítás befejezetlen" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "Gyártási utasítás befejezése" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "Következő szabad sorozatszám" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "Legutolsó sorozatszám" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "Az alkatrészjegyzék követésre kötelezett alkatrészeket tartalmaz" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "A gyártási kimeneteket egyesével kell előállítani" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "A követésre kötelezett alkatrészekhez sorozatszámot lehet rendelni" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Adj meg sorozatszámokat a több egyedi gyártási kimenet létrehozásához" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "Gyártási kimenet létrehozása" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "Készlet tételek foglalása ehhez a gyártási kimenethez" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "Készlet felszabadítása a gyártási kimenetből" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "Gyártási kimenet befejezése" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "Gyártási kimenet selejtezése" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "Gyártási kimenet törlése" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "Biztosan szeretnéd a már lefoglalt készlet tételeket felszabadítani ebből a gyártási utasításból?" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "Készlet tételek felszabadítása" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "Gyártási kimenetek kiválasztása" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "Legalább egy gyártási kimenetet ki kell választani" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "A kiválasztott gyártási kimenetek késznek lesznek jelölve" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "Kimenet" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "Gyártási kimenetek befejezése" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "A kiválasztott gyártási kimenetek selejtnek lesznek jelölve" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "Selejtezett kimenetek elutasítottnak jelölve" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "A lefoglalt készlet már nem lesz elérhető" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "A befejezési státusza a gyártásnak nem fog változni" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "Gyártási kimenetek selejtezése" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "A kiválasztott gyártási kimenetek törölve lesznek" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "A gyártási kimenet adatai véglegesen törölve lesznek" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "A lefoglalt készlet tételek újra készletre kerülnek" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "Gyártási kimenetek törlése" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "Nincs gyártási utasításhoz történő foglalás" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "Hely nincs megadva" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "Kimenetek befejezése" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "Kimenetek selejtezése" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "Kimenetek törlése" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "gyártás kimenet" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "gyártás kimenetek" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "Gyártási kimenet műveletei" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "Nem található aktív gyártási kimenet" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "Lefoglalt sorok" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "Szükséges tesztek" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "Válassz alkatrészeket" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "Minden alkatrész lefoglalva" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "Nincs egyező készlet" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "Automatikus készlet foglalás" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "A készlet automatikusan lefoglalásra kerül ehhez a gyártási utasításhoz, a következő feltételek szerint" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Ha egy készlet hely meg van adva, akkor készlet csak arról a helyről lesz foglalva" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Ha a készlet helyettesíthetőnek minősül, akkor az első rendelkezésre álló helyről lesz lefoglalva" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Ha a helyettesítő készlet engedélyezve van, akkor ott az lesz használva ha az elsődleges alkatrésznek nincs készlete" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "Készlet tételek foglalása" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "Kiválaszt" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "Gyártás késésben van" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "Nincs felhasználói információ" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "Foglalás szerkesztése" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "Foglalás törlése" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "gyártás sor" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "gyártás sorok" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "Nincsenek gyártási sorok" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "Mennyiségi egység" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "Van elegendő" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "Fogyóeszköz tétel" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "Követett tétel" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "Egyedileg nyilvántartott tételek lefoglalása egyedi gyártási kimenetekhez" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "Gyártási készlet" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "Lefoglalt készlet" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "Készlet foglalások törlése" @@ -13420,7 +13534,7 @@ msgid "No category" msgstr "Nincs kategória" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "Megjelenítés listaként" @@ -13432,7 +13546,7 @@ msgstr "Megjelenítés rácsnézetként" msgid "No subcategories found" msgstr "Nem találhatóak alkategóriák" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "Megjelenítés fában" @@ -14285,7 +14399,7 @@ msgstr "Kivesz" msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Hozzáad" @@ -14309,7 +14423,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "Készlet tételek kiválasztása" @@ -14389,216 +14503,216 @@ msgstr "Vevő rendeléshez hozzárendelve" msgid "No stock location set" msgstr "Nincs hely megadva" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "Készlet állapot módosítása" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "Készlet összevonása" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "Készlet törlése" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "készlet tételek" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "Beolvasás helyre" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "Készlet műveletek" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "Beépített tételek betöltése" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "Készlet tétel beépítve egy másikba" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "Készlet tétel fel lett használva egy gyártásban" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "Készletérték" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "készlethelyek" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "Alhelyek betöltése" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "Nincs változás" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "A gyártási utasítás már nem létezik" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "Vevői megrendelés már nem létezik" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "Visszavétel már nem létezik" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "Válassz ki egy vagy több készlet tételt" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "Kiválasztott készlet tételek" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "Készlet állapot módosítása" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15142,27 +15256,27 @@ msgstr "Igen" msgid "No" msgstr "Nem" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Felhasználók" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "Válaszd ki mely felhasználók tartoznak ehhez a csoporthoz" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "Az alábbi felhasználók több csoportnak is tagjai" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Személyes adatok" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Jogosultságok" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "Fontos dátumok" @@ -15206,35 +15320,35 @@ msgstr "Token utolsó használata" msgid "Revoked" msgstr "Visszavonva" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Csoport" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Nézet" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Módosítás" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index d866386fc6..641519f937 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: id\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Pengguna tidak memiliki izin untuk melihat model ini" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Nilai tidak tersedia" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Detail terkait galat dapat dilihat di panel admin" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Masukkan tanggal" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Catatan" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Nilai yang diberikan tidak sesuai dengan pola yang ditentukan: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Alamat surel utama yang diberikan tidak valid." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Domain surel yang diberikan tidak perbolehkan." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Nomor seri kosong" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Tidak ada nomor seri ditemukan" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Hapus tag-tag HTML dari nilai ini" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Ukuran gambar terlalu besar" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "URL yang diberikan bukan file gambar yang valid" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Pilihan tidak valid" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Nama" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Keterangan" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Keterangan (opsional)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Direktori" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Data Barcode" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Hash unik data barcode" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Sudah ada barcode yang sama" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Terjadi Kesalahan Server" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Mata Uang" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "File data" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Pilih file untuk diunggah" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Jenis file tidak didukung" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Ukuran file terlalu besar" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Tidak ditemukan kolom dalam file" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Tidak ditemukan barisan data dalam file" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Tidak ada barisan data tersedia" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Tidak ada kolom data tersedia" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Kolom yang diperlukan kurang: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Kolom duplikat: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL file gambar external" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Pengecekan kesehatan sistem InvenTree gagal" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "Bukan kode mata uang yang valid" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Nilai kelebihan tidak boleh negatif" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Kelebihan tidak boleh melebihi 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Nilai kelebihan tidak valid" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Ubah Informasi User" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Atur Kata Sandi" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Bidang kata sandi tidak cocok" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Kata sandi yang salah" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Informasi Sistem" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Tentang InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produksi Induk" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Order Produksi" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Order Produksi" msgid "Build Orders" msgstr "Order Produksi" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Pilihan produksi induk tidak valid" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Referensi Order Produksi" msgid "Reference" msgstr "Referensi" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Produksi induk dari produksi ini" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Bagian" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Pilih bagian untuk diproduksi" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Referensi Order Penjualan" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokasi Sumber" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Pilih dari lokasi mana stok akan diambil untuk produksi ini (kosongkan untuk mengambil stok dari mana pun)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Lokasi Tujuan" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Pilih lokasi di mana item selesai akan disimpan" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Jumlah Produksi" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Jumlah item stok yang akan dibuat" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Item selesai" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Jumlah stok item yang telah diselesaikan" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Status pembuatan" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Tanggal Pembuatan" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Target tanggal selesai" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Tanggal selesai" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Diserahkan oleh" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Penanggung Jawab" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Tujuan stok item" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Hasil Produksi" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Hasil produksi tidak sesuai dengan produksi induk" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Hasil produksi ini sudah diselesaikan" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Hasil produksi tidak dialokasikan sepenuhnya" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Nomor Seri" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Masukkan nomor seri untuk hasil pesanan" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Lokasi" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Alokasikan nomor seri secara otomatis" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Terima bahwa jumlah hasil produksi yang diperlukan belum selesai" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Jumlah produksi yang diperlukan masih belum cukup" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lokasi stok, dari mana bahan/bagian akan diambilkan (kosongkan untuk mengambil dari lokasi mana pun)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Item tagihan material" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Dibatalkan" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Selesai" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Stok dibutuhkan untuk order produksi" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Surel diperlukan" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Pengguna" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "Tautan" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Lampiran" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "File tidak ditemukan" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentar" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "Label" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Nama File" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Diletakkan" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Dikirim" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Hilang" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Dikembalikan" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "Tidak ada tindakan yang ditentukan" msgid "No matching action found" msgstr "Aksi tidak ditemukan" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "Lampiran perlu diunggah untuk tes ini" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Ditolak" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Item stok dibuat" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Item stok diubah" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Nomor seri yang ditetapkan" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Stok terhitung" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Stok yang ditambahkan manual" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Stok yang dikurangi manual" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Lokasi berubah" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Dirakit ke" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Diambil dari" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Komponen terpasang" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Komponen terlepas" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Dipisah dari item induk" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Pisah item dari barang induk" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Stok item digabungkan" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Dikonversi ke variasi" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Output order produksi dibuat" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Order output produksi selesai" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Terpakai oleh order produksi" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Terkirim ke pelanggan" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Dikembalikan pelanggan" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Produksi" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Data pribadi" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index f5e08497ee..a64017caed 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: it\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "L'utente non ha i permessi per vedere questo modello" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Unità fornita non valida ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Nessun valore specificato" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Impossibile convertire {original} in {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Quantità fornita non valida" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Quantità fornita non valida ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministrazione" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Inserisci la data" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Note" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Il valore '{name}' non è nel formato del pattern" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Il valore fornito non corrisponde al modello richiesto: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "L'indirizzo email principale fornito non è valido." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "L'indirizzo di posta elettronica fornito non è approvato." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "La registrazione è disabilitata." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Numero seriale vuoto" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Seriale Duplicato" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Intervallo di gruppo non valido: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "L'intervallo di gruppo {group} supera la quantità consentita ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Sequenza di gruppo non valida: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Nessun numero di serie trovato" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Il numero di numeri di serie univoci ({len(serials)}) deve corrispondere alla quantità ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Rimuovi i tag HTML da questo valore" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Errore di connessione" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Il server ha risposto con un codice di stato non valido" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Si è verificata un'eccezione" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Il server ha risposto con valore Content-Length non valido" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Immagine troppo grande" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Il download dell'immagine ha superato la dimensione massima" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Il server remoto ha restituito una risposta vuota" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" @@ -364,8 +364,8 @@ msgstr "Cinese (Tradizionale)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Accedi all'app" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Metadati Plugin" msgid "JSON metadata field, for use by external plugins" msgstr "Campo di metadati JSON, da utilizzare con plugin esterni" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Schema formattato impropriamente" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Formato chiave sconosciuta" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Formato chiave mancante" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Il campo di riferimento non può essere vuoto" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Il campo deve corrispondere al modello richiesto" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Numero di riferimento troppo grande" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Nome" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Percorso" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Note di Markdown (opzionale)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Dati del Codice a Barre" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Dati Codice a Barre applicazioni di terze parti" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Codice a Barre" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Codice univoco del codice a barre" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Trovato codice a barre esistente" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Errore del server" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Valuta" msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Nome utente" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Nome" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "Nome dell'utente" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Cognome" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "Cognome dell'utente" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "Indirizzo email dell'utente" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "Staff" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "Questo utente ha i permessi dello staff" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "Superuser" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "Questo utente è un superutente" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "Questo utente è un superutente" msgid "Active" msgstr "Attivo" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "Questo account utente è attivo" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Non hai i permessi per cambiare il ruolo dell'utente." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Solo i superutenti possono creare nuovi utenti" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Il tuo account è stato creato." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Si prega di utilizzare la funzione di reset password per accedere" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Benvenuto in InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Nessuna riga di dati trovata nel file" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Nessun dato fornito" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Nessuna colonna di dati fornita" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Immagine Remota" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL del file immagine remota" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Server di posta non configurato" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Controlli di sistema InvenTree falliti" @@ -691,122 +691,122 @@ msgstr "Unità fisica non valida" msgid "Not a valid currency code" msgstr "Non è un codice valuta valido" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Il sovra-valore non può essere negativo" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "L'eccesso non deve superare il 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Valore non valido per eccedenza" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Modifica informazioni utente" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Imposta Password" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Le password devono coincidere" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Password inserita non corretta" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Informazioni sistema" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Informazioni Su InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produzione Genitore" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Inviato da" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Opzionale" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Assemblaggio" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Monitorato" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Allocato" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Allocato" msgid "Available" msgstr "Disponibile" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Ordine di Produzione" msgid "Build Orders" msgstr "Ordini di Produzione" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "Assembly BOM non è stato convalidato" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "L'ordine di generazione non può essere creato per una parte inattiva" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "L'ordine di compilazione non può essere creato per una parte sbloccata" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Scelta non valida per la produzione genitore" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "L'utente o il gruppo responsabile deve essere specificato" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "L'ordine di costruzione della parte non può essere cambiata" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Riferimento Ordine Di Produzione" msgid "Reference" msgstr "Riferimento" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Breve descrizione della build (facoltativo)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Articolo" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleziona la posizione da cui prelevare la giacenza (lasciare vuoto per prelevare da qualsiasi posizione di magazzino)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Numero di articoli da costruire" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Numero di articoli di magazzino che sono stati completati" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Stato Produzione" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "Completato da" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Responsabile" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Utente o gruppo responsabile di questo ordine di produzione" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Link a URL esterno" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Priorità di produzione" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Priorità di questo ordine di produzione" msgid "Project Code" msgstr "Codice del progetto" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Codice del progetto per questo ordine di produzione" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantità non può essere maggiore della quantità in uscita" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Crea oggetto" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Crea oggetto" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Crea oggetto" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Quantità" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Quantità richiesta per l'ordine di costruzione" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Installa in" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Nome Articolo" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Genera Output" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "L'output generato non corrisponde alla produzione principale" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "L'output non corrisponde alle parti dell'ordine di produzione" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Questa produzione è stata già completata" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Questo output non è stato completamente assegnato" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Quantità totale richiesta per articoli rintracciabili" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Codice Seriale" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Inserisci i numeri di serie per gli output di compilazione (build option #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Posizione" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Numeri di Serie Assegnazione automatica" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Stato" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completa l'output se le scorte non sono state interamente assegnate" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Non permesso" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Come si desidera gestire gli elementi extra giacenza assegnati all'ordine di produzione" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegnati a questo ordine di produzione" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accetta che il numero richiesto di output di produzione non sia stato completato" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Linea di produzione" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Articolo linea di produzione" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "gli elementi degli articoli della distinta base devono puntare alla stessa parte dell'ordine di produzione" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "L'output di produzione deve essere specificato per l'ubicazione delle parti tracciate" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "L'output di produzione non deve essere specificato per l'ubicazione delle parti non tracciate" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Posizione dello stock in cui le parti devono prelevate (lasciare vuoto per prelevare da qualsiasi luogo)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Gli elementi in magazzino in più sedi possono essere utilizzati in modo intercambiabile" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "Nome Ubicazione" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Confezionamento" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Codice Articolo" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "IPN Articolo" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Descrizione Articolo" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Numero Seriale" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "Quantità Disponibile" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Tracciabile" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "Ordinato" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Disponibilità in magazzino" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Annullato" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Completo" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Giacenza richiesta per l'ordine di produzione" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Ordine di produzione in ritardo" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "L'ordine di produzione {bo} è in ritardo" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzione" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Outputs Completati" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Outputs Completati" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Ordini di Vendita" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Priorità" @@ -1968,7 +1977,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:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Destinazione" @@ -1981,13 +1990,13 @@ msgstr "Posizione di destinazione non specificata" msgid "Allocated Parts" msgstr "Articoli Assegnati" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Lotto" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Creato" @@ -2120,7 +2129,7 @@ msgstr "Nuovo Ordine di Produzione" msgid "Build Order Details" msgstr "Dettagli Ordine di Produzione" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Output Incompleti" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "Seleziona il file {name} da caricare" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Aggiornato" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Orario dell'ultimo aggiornamento" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Codice unico del progetto" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Descrizione del progetto" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole)" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Nessun gruppo" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Nome Istanza Del Server" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Limita visualizzazione `Informazioni`" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Mostra la modalità `Informazioni` solo ai superusers" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "URL Base" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "giorni" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Consenti il download di immagini e file remoti da URL esterno" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Limite Dimensione Download" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Dimensione massima consentita per il download dell'immagine remota" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "User-agent utilizzato per scaricare dall'URL" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Consenti di sovrascrivere l'user-agent utilizzato per scaricare immagini e file da URL esterno (lasciare vuoto per il predefinito)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Richiesta conferma" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Richiede una conferma esplicita dell'utente per una determinata azione." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Profondità livelli" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profondità predefinita per la visualizzazione ad albero. I livelli più in alto possono essere caricati più lentamente quando necessari." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Aggiorna intervallo di controllo" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Quanto spesso controllare gli aggiornamenti (impostare a zero per disabilitare)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Backup automatico" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Abilita il backup automatico di database e file multimediali" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Intervallo Di Backup Automatico" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Definisci i giorni intercorrenti tra un backup automatico e l'altro" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "I risultati delle attività in background verranno eliminati dopo un determinato numero di giorni" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "I log di errore verranno eliminati dopo il numero specificato di giorni" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Le notifiche dell'utente verranno eliminate dopo il numero di giorni specificato" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Codice a barre inserito scaduto" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Tempo di ritardo di elaborazione codice a barre" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Codice a Barre Supporto Webcam" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Consenti la scansione del codice a barre tramite webcam nel browser" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Abilita il campo revisione per l'articolo" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Copia i dati della Distinta Base predefinita quando duplichi un articolo" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Copia i dati dei parametri di default quando si duplica un articolo" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Copia I Dati dell'Articolo Test" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Copia i dati di prova di default quando si duplica un articolo" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Modello" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1490 +#: common/models.py:1492 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:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Componente" -#: common/models.py:1496 +#: common/models.py:1498 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:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Vendibile" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Dati iniziali dello stock" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Consentire la creazione di uno stock iniziale quando si aggiunge una nuova parte" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Consentire la creazione dei dati iniziali del fornitore quando si aggiunge una nuova parte" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Icona predefinita Categoria Articolo" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Includere le discontinuità di prezzo del fornitore nei calcoli generali dei prezzi" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Cronologia dei prezzi dell'ordine di acquisto del fornitore superati con discontinuità di prezzo" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utilizzare i prezzi dei dati di magazzino inseriti manualmente per il calcolo dei prezzi" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Escludere dal calcolo dei prezzi gli articoli in giacenza più vecchi di questo numero di giorni" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "Utilizza solo articoli di varianti attive per calcolare i prezzi delle varianti" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Numero di giorni prima che il prezzo dell'articolo venga aggiornato automaticamente" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "Se disponibile, i prezzi interni sostituiscono i calcoli della fascia di prezzo" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Risoluzione DPI quando si generano file di immagine da fornire ai plugin di stampa per etichette" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Abilita Rapporto di Prova" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Allega Rapporto di Prova" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Quando si stampa un rapporto di prova, allegare una copia del rapporto di prova all'elemento di magazzino associato" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "I numeri di serie per gli articoli di magazzino devono essere univoci" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Modello per la generazione di codici batch predefiniti per gli elementi stock" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di vendita dopo che sono stati spediti o completati" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di acquisto dopo che sono stati spediti o completati" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Abilita l'auto-registrazione tramite SSO per gli utenti nelle pagine di accesso" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "Al momento della registrazione chiedere due volte all'utente l'indirizzo di posta elettronica" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "Al momento della registrazione chiedere agli utenti due volte l'inserimento della password" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controlla che tutti i plugin siano installati all'avvio - abilita in ambienti contenitore" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Abilita la funzionalità d'inventario per la registrazione dei livelli di magazzino e il calcolo del valore di magazzino" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Numero di giorni tra la registrazione automatica dell'inventario (imposta 0 per disabilitare)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 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:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:2263 +#: common/models.py:2265 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:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2330 +#: common/models.py:2332 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:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:2338 +#: common/models.py:2340 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:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2346 +#: common/models.py:2348 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:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:2390 +#: common/models.py:2392 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:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Cerca Ordini Di Reso" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:2458 +#: common/models.py:2460 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:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Ricerca con regex" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:2489 +#: common/models.py:2491 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:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2516 +#: common/models.py:2518 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:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Utente" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Prezzo" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Segreto" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Intestazione" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Contenuto" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titolo" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Titolo" msgid "Link" msgstr "Collegamento" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Pubblicato" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autore" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Letto" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "Queste notizie sull'elemento sono state lette?" msgid "Image" msgstr "Immagine" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "File immagine" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Allegato" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "File mancante" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Link esterno mancante" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Commento" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Nuovo {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "Un nuovo ordine è stato creato e assegnato a te" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "Elemento ricevuto" -#: common/notifications.py:332 +#: common/notifications.py:328 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:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "Errore generato dal plugin" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Nome del file" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "Abbina Campi" msgid "Match Items" msgstr "Elementi corrispondenti" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "Corrispondenza campi non riuscita" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Articoli importati" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Azienda" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Aziende" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Descrizione azienda" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "Descrizione dell'azienda" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Sito Web" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "Sito web aziendale" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Telefono" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Numero di telefono di contatto" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Indirizzo email" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Contatto" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Punto di contatto" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Collegamento alle informazioni aziendali esterne" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Vendi oggetti a questa azienda?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Acquistate articoli da questa azienda?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Questa azienda produce articoli?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Valuta predefinita utilizzata per questa azienda" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Indirizzo" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Codice articolo produttore" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Seleziona articolo" msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Seleziona Produttore" msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Valore" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Unità" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Articolo Fornitore" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo msgid "Supplier" msgstr "Fornitore" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Nota" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "costo base" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "Imballaggio del pezzo" msgid "Pack Quantity" msgstr "Quantità Confezione" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "multiplo" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "Quantità disponibile dal fornitore" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "Disponibilità Aggiornata" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Valuta predefinita utilizzata per questo fornitore" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Cliente" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Telefono" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Rimuovi" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "Cancella articolo produttore" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Articolo interno" @@ -4838,7 +4939,7 @@ msgstr "Nessuna informazione sul produttore disponibile" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "Elimina Articolo Fornitore" msgid "No supplier information available" msgstr "Nessuna informazione sul fornitore disponibile" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -5022,99 +5123,107 @@ msgstr "Nuovo cliente" msgid "New Company" msgstr "Nuova Azienda" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Inviato" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "Dati" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "Valido" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Sconosciuto" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "Prezzo Totale" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Ordine" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "Restituisci ordine" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Prezzo totale dell'ordine" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "Il contatto non corrisponde all'azienda selezionata" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "Descrizione dell'ordine (opzionale)" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data." -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Creato Da" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "Punto di contatto per questo ordine" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "ricevuto da" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "spedito da" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:1088 +#: order/models.py:1081 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:1093 +#: order/models.py:1086 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:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1393 +#: order/models.py:1386 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:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "Contesto" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "eliminato" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "Articolo Fornitore" msgid "Received" msgstr "Ricevuto" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 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:1642 +#: order/models.py:1635 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:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Spedito" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1973 +#: order/models.py:1966 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:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Linea" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Elemento" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "Risultati" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "Nome Fornitore" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Codice a Barre" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "Codice a barre scansionato" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" @@ -5910,7 +6019,7 @@ msgstr "Il codice a barre è già in uso" msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" @@ -5922,59 +6031,59 @@ msgstr "La destinazione deve essere specificata" msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Perso" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Reso" @@ -6184,8 +6293,8 @@ msgstr "Duplica selezionati" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "Spedizione in sospeso" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Azioni" @@ -6401,21 +6510,22 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Revisione" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Parole Chiave" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "Id Categoria" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "Nome Categoria" @@ -6440,11 +6550,11 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -6452,23 +6562,23 @@ msgstr "Scorta Minima" msgid "Used In" msgstr "Utilizzato In" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "In Costruzione" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Costo Massimo" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "ID principale" @@ -6481,8 +6591,8 @@ msgstr "Nome Principale" msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "IPN Principale" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Categoria" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Posizione Predefinita" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Giacenze Totali" @@ -6641,421 +6755,421 @@ msgstr "Giacenze Totali" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "Strutturale" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate." -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Keywords predefinite" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "Icona" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "Icona (facoltativa)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "È Template" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:1130 +#: part/models.py:1142 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:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 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:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Data" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 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:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Abilitato" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Richiesto" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3635 +#: part/models.py:3647 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:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3642 +#: part/models.py:3654 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:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "Livello" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:4266 +#: part/models.py:4279 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:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 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:4314 +#: part/models.py:4327 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:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4572 +#: part/models.py:4582 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:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4637 +#: part/models.py:4647 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:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" @@ -7457,326 +7571,326 @@ msgstr "Valuta di acquisto di questo articolo in stock" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Specificare la quantità iniziale disponibile per questo Articolo. Se la quantità è zero, non viene aggiunta alcuna quantità." -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Puoi produrre" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "Aggiungi informazioni inventario" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "Inventario" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "L'Articolo è virtuale (non è un articolo fisico)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "Mostra i Dettagli Articolo" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "Assegnato agli Ordini di Produzione" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "Assegnato agli Ordini di Vendita" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "Livello minimo di giacenza" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "Fascia di Prezzo" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "Ultimo Numero Di Serie" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "Ricerca per numero seriale" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "Varianti" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "Modifica" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -8498,8 +8616,8 @@ msgstr "Nessuna azione specificata" msgid "No matching action found" msgstr "Nessuna azione corrispondente trovata" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Nessuna corrispondenza trovata per i dati del codice a barre" @@ -8524,52 +8642,52 @@ msgstr "Il codice a barre corrisponde a un elemento esistente" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "Rallentamenti in entrata notifiche url" msgid "URL that is used to send messages to a slack channel" msgstr "Questo URL è stato utilizzato per inviare messaggi a un canale rallentato" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "Apri collegamento" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "Configurazione Plugin" msgid "Plugin Configurations" msgstr "Configurazioni Plugin" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "Key dei plugin" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "Metodo" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "Nessun autore trovato" @@ -9091,43 +9205,43 @@ msgstr "Installazione non confermata" msgid "Either packagename of URL must be provided" msgstr "Deve essere fornito uno dei nomi del pacchetto URL" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "Risultati Test" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "Risultato" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "Nessun risultato" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Elementi installati" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Seriale" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "ID Posizione" @@ -9459,58 +9573,58 @@ msgstr "ID Posizione" msgid "Location Path" msgstr "Percorso Ubicazione" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "ID Elemento Stock" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "Codici di stato" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "ID Articolo Fornitore" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "ID Fornitore" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Installato In" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "ID Costruttore" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "ID Ordine Vendita" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "ID Ordine D'acquisto" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Revisione Necessaria" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Elimina al esaurimento" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Data di Scadenza" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Obsoleto" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 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" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Posizioni magazzino" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Proprietario" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "Seleziona Owner" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "Esterno" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "Si tratta di una posizione esterna al magazzino" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcuni elementi di magazzino sono già posizionati al suo interno!" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "Gli articoli di magazzino non possono essere ubicati in posizioni di magazzino strutturali!" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantità deve essere 1 per elementi con un numero di serie" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Il numero di serie non può essere impostato se la quantità è maggiore di 1" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "L'elemento non può appartenere a se stesso" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "L'elemento deve avere un riferimento di costruzione se is_building=True" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "Il riferimento di costruzione non punta allo stesso oggetto dell'articolo" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "Elemento di magazzino principale" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "Questo elemento è stato installato su un altro elemento?" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "Genera Costruzione" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "Costruisci per questo elemento di magazzino" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "Origina Ordine di Acquisto" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "Ordine d'acquisto per questo articolo in magazzino" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "Destinazione Ordine di Vendita" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Data di scadenza per l'elemento di magazzino. Le scorte saranno considerate scadute dopo questa data" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "Prezzo di acquisto unitario al momento dell’acquisto" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "Convertito in articolo" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "L'articolo non è impostato come tracciabile" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "La quantità deve essere un numero intero" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "I numeri di serie devono essere numeri interi" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "L'elemento di magazzino è stato assegnato a un ordine di vendita" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "Note del test" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "Il numero di serie è troppo grande" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "Elemento principale" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Scaduto" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "Elementi secondari" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "Inserisci il numero di elementi di magazzino da serializzare" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La quantità non deve superare la quantità disponibile ({q})" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "Note opzionali elemento" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "Numeri di serie non possono essere assegnati a questo articolo" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "Seleziona elementi di magazzino da installare" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "Aggiungi nota di transazione (opzionale)" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "Elemento di magazzino non disponibile" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "L'articolo selezionato non è nella Fattura dei Materiali" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "Posizione di destinazione per gli elementi disinstallati" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "L'articolo selezionato non è una valida opzione per la conversione" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "Posizione di destinazione per l'elemento restituito" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "Consenti di unire gli elementi di magazzino che hanno fornitori diversi" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "Consenti di unire gli elementi di magazzino con diversi codici di stato" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" @@ -10175,107 +10289,107 @@ msgstr "Respinto" msgid "Quarantined" msgstr "In quarantena" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Voce di tracciamento stock preesistente" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Elemento stock creato" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Elemento stock modificato" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Numero di serie assegnato" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Stock contato" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Stock aggiunto manualmente" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Stock rimosso manualmente" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Posizione cambiata" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Stock aggiornato" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Installato nell'assemblaggio" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Rimosso dall'assemblaggio" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Componente installato" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Elemento componente rimosso" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Diviso dall'elemento genitore" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Dividi elemento figlio" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Elemento stock raggruppato" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Convertito in variante" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Genera l'output dell'ordine creato" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Build order output completato" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Ordine di costruzione rifiutato" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Impegnato dall'ordine di costruzione" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Spedito contro l'ordine di vendita" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Ricevuto contro l'ordine di acquisto" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Restituito contro l'ordine di ritorno" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Inviato al cliente" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Restituito dal cliente" @@ -10316,7 +10430,7 @@ msgstr "Note Elemento di magazzino" msgid "Installed Stock Items" msgstr "Elementi di magazzino installati" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "Installa Elemento Magazzino" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "Trasferisci giacenza" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Assegna al cliente" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "Cancella elemento di magazzino" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Produzione" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "Vai al numero di serie successivo" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Nessuna posizione impostata" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "Nessun inventario eseguito" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Nuova Posizione" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Elimina" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "I seguenti articoli sono pochi nel magazzino richiesto" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Aggiungi" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Si" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Utenti" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "Selezionare quali utenti sono assegnati a questo gruppo" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Informazioni personali" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Permessi" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "Date Importanti" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Gruppo" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Visualizza" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Modificare" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index 281ce186ac..6acbddac49 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: ja\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "ユーザーにこのモデルを表示する権限がありません" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "値がありません" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "エラーの詳細は管理者パネルで確認できます" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "日付を入力する" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "メモ" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "値 '{name}' はパターン形式で表示されません" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "指定された値が必要なパターンと一致しません: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "指定されたプライマリEメールアドレスは無効です。" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "指定されたメールドメインは承認されていません。" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "数量コードが無効です" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "シリアル番号は空です" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "シリアル番号が見つかりません" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "この値からHTMLタグを削除" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "接続エラー" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "サーバは無効なステータスコードで応答しました" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "例外が発生しました" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "サーバーが無効なContent-Length値で応答しました" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "画像サイズが大きすぎます" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "画像のダウンロードが最大サイズを超えました" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "リモートサーバーが空のレスポンスを返しました" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "指定されたURLは有効な画像ファイルではありません" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "プラグインメタデータ" msgid "JSON metadata field, for use by external plugins" msgstr "外部プラグインで使用するためのJSONメタデータフィールド" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "お名前" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "説明" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "マークダウンメモ (オプション)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "バーコード情報" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "サードパーティ製バーコードデータ" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "通貨" msgid "Select currency from available options" msgstr "利用可能なオプションから通貨を選択してください" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "このユーザのロールを変更する権限がありません" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "外部画像ファイルのURL" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "外部URLからの画像ダウンロードは許可されていません" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "メールアドレスが未設定です" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "InvenTree システムのヘルスチェックに失敗しました" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "ユーザー情報を編集" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "パスワードを設定" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "パスワードが一致しません" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "パスワードが間違っています" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "システム情報" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "InvenTree について" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "オプション" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "アセンブリ" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "組立注文" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "組立注文" msgid "Build Orders" msgstr "組立注文" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "パーツ" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "組立状況" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "外部リンク" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "外部 サイト へのリンク" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "組立優先度" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "数量" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "シリアル番号" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "ステータス" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "組立ライン" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "シリアル番号" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "追跡可能" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "キャンセル済" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "完了" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "外部URLからの画像ダウンロードを許可する" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "外部URL画像の最大サイズ" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "テンプレート" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "コンポーネント" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "販売可能" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "シリアル番号を自動入力" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "メールアドレスは必須です" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "非アクティブな部品を非表示" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "購読中の部品を表示" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "購読中のカテゴリを表示" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "ユーザー" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "リンク" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "添付ファイル" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "ファイルがありません" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "コメント:" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "ファイル名" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "連絡先メールアドレス" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "製造元" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "仕入先" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "顧客" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "メーカー・パーツを削除" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "内部パーツ" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "在庫商品" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "設置済" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "外部ページへのリンク" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "発送済み" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "割り当てるシリアル番号を入力" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "紛失" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "返品済" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "キーワード" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "カテゴリID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "カテゴリ名" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "カテゴリ" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "パーツカテゴリ" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "パーツカテゴリ" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "カテゴリを選択" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "シリアル番号で検索" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "在庫" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "アクションが指定されていません" msgid "No matching action found" msgstr "一致するアクションが見つかりませんでした" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "シリアル番号が既に存在します" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "シリアル番号が大きすぎます" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "期限切れ" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "パーツは販売可能でなければなりません" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "却下済み" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "在庫商品を作成しました" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "在庫商品編集済み" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "割り当てられたシリアル番号" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "在庫数" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "手動在庫追加が完了しました" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "手動在庫削除が完了しました" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "ロケーションが変更されました" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "アセンブリへインストールしました" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "アセンブリから削除しました" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "インストール済みのコンポーネント項目" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "コンポーネント項目を削除しました" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "親アイテムから分割する" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "子項目を分割" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "商品在庫をマージしました" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "組立注文の出力が作成されました" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "組立注文の出力が完了しました" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "顧客に送信されました" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "顧客からの返品" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "組立" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "個人情報" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "許可" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "重要な日付" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "パーミッション設定" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "グループ" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "表示" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "項目を表示する権限" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "項目を追加する権限" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "変更" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "項目を編集する権限" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "項目を削除する権限" diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 5a9af447b3..9fa8b4cf3b 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: ko\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 14c02fb132..6b4260ac94 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: lv\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API galapunkts nav atrasts" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Lietotājam nav atļaujas, lai apskatītu šo modeli" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Norādīta nederīga vienība ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Nav norādīta vērtība" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Nevarēja konvertēt {original} par {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Ievadiet datumu" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Ievadiet datumu" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Piezīmes" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Vērtība '{name}' neparādās vajadzīgajā formātā" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Norādītā vērtība neatbilst nepieciešamajam formātam: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Norādītā primārā e-pasta adrese nav derīga." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Norādītais e-pasta domēns nav apstiprināts." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Reģistrācija ir izslēgta." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Norādītais daudzums nav derīgs" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Tukša sērijas numura rinda" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Atkārtojas sērijas numurs" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Nederīgs grupas diapazons: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Grupas diapazons {group} pārsniedz pieļaujamo daudzumu ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Nederīga grupas secība: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Netika atrasts neviens sērijas numurs" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Unikālo sērijas numuru skaitam ({len(serials)}) jāatbilst daudzumam ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Noņemiet HTML tagus no šīs vērtības" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Savienojuma kļūda" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Serveris atbildēja ar nederīgu statusa kodu" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Radās izņēmums" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Serveris atbildēja ar nederīgu Content-Length vērtību" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Attēla izmērs ir pārāk liels" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Attēla lejupielāde pārsniedz maksimālo izmēru" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Attālais serveris atgrieza tukšu atbildi" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Norādītajā URL nav derīgs attēla fails" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index a39ac28d76..8231e2fa50 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-27 22:17\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: nl\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Gebruiker heeft geen rechten om dit model te bekijken" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Geen waarde opgegeven" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "{original} kon niet worden omgezet naar {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Ongeldige hoeveelheid ingegeven" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Ongeldige hoeveelheid ingegeven ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Error details kunnen worden gevonden in het admin scherm" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Voer datum in" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Opmerkingen" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Waarde '{name}' verschijnt niet in patroonformaat" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Opgegeven waarde komt niet overeen met vereist patroon: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Het opgegeven primaire e-mailadres is ongeldig." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Registratie is uitgeschakeld." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Leeg serienummer" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Duplicaat serienummer" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Geen serienummers gevonden" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Verwijder HTML tags van deze waarde" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Verbindingsfout" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Server reageerde met ongeldige statuscode" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Uitzondering opgetreden" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Server reageerde met ongeldige Content-Length waarde" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Afbeeldingsformaat is te groot" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Beelddownload overschrijdt de maximale grootte" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Externe server heeft lege reactie teruggegeven" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" @@ -364,8 +364,8 @@ msgstr "Chinees (traditioneel)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata veld, voor gebruik door externe plugins" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Onjuist opgemaakt patroon" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Onbekende opmaaksleutel gespecificeerd" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Vereiste opmaaksleutel ontbreekt" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Referentieveld mag niet leeg zijn" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Referentie moet overeenkomen met verplicht patroon" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Referentienummer is te groot" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Naam" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Pad" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Markdown notitie (optioneel)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Streepjescode gegevens" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Streepjescode van derden" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Hash van Streepjescode" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Unieke hash van barcode gegevens" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Bestaande barcode gevonden" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Serverfout" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Valuta" msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "Actief" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL van extern afbeeldingsbestand" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "E-mailbackend niet geconfigureerd" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "InvenTree gezondsheidschecks mislukt" @@ -691,122 +691,122 @@ msgstr "Ongeldige fysieke eenheid" msgid "Not a valid currency code" msgstr "Geen geldige valutacode" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Overschotwaarde mag niet negatief zijn" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Overschot mag niet groter zijn dan 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Ongeldige waarde voor overschot" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Gebruikersgegevens bewerken" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Wachtwoord instellen" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Wachtwoordvelden komen niet overeen" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Onjuist wachtwoord opgegeven" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Systeeminformatie" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Over InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Uitgegeven door" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Optioneel" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Samenstelling" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Gevolgd" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Toegewezen" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Toegewezen" msgid "Available" msgstr "Beschikbaar" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Productieorder" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Productieorder" msgid "Build Orders" msgstr "Productieorders" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Productieorderreferentie" msgid "Reference" msgstr "Referentie" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Korte beschrijving van de build (optioneel)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Onderdeel" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecteer de locatie waar de voorraad van de productie vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "voltooid door" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externe Link" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Link naar externe URL" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Bouw prioriteit" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Prioriteit van deze bouwopdracht" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Project code voor deze build order" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Bouw object" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Bouw object" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Bouw object" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Vereiste hoeveelheid voor bouwopdracht" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Onderdeel naam" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Serienummers" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Voer serienummers in voor productieuitvoeren" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Locatie" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Voorraadlocatie voor geannuleerde outputs" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Toewijzingen weggooien" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Verwijder alle voorraadtoewijzingen voor geannuleerde outputs" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Reden voor annulering van bouworder(s)" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Niet toegestaan" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Overgealloceerde voorraad" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hoe wilt u omgaan met extra voorraaditems toegewezen aan de bouworder" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Sommige voorraadartikelen zijn overalloceerd" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze productieorder" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepteer dat het vereist aantal productieuitvoeren niet is voltooid" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Productielijn" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Bouw lijn-item" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde onderdelen" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Voorraadlocatie waar onderdelen afkomstig zijn (laat leeg om van elke locatie te nemen)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Alloceer optionele BOM items om bestelling te bouwen" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Onderdeel-id" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Onderdeel omschrijving" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Serienummer" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Volgbaar" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "In bestelling" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Beschikbare Voorraad" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Geannuleerd" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Voltooid" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Voorraad vereist voor productieorder" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Achterstallige Productieorder" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Productieorder {bo} is nu achterstallig" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Voltooide Uitvoeren" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Verkooporder" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Prioriteit" @@ -1968,7 +1977,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:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Bestemming" @@ -1981,13 +1990,13 @@ msgstr "Bestemmingslocatie niet opgegeven" msgid "Allocated Parts" msgstr "Toegewezen Onderdelen" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Gecreëerd" @@ -2120,7 +2129,7 @@ msgstr "Nieuwe Productieorder" msgid "Build Order Details" msgstr "Productieorderdetails" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Onvolledige Productieuitvoeren" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "{name.title()} Bestand" msgid "Select {name} file to upload" msgstr "Kies {name} bestand om te uploaden" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Bijgewerkt" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Tijdstempel van laatste update" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Unieke projectcode" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Projectbeschrijving" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Geen groep" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Migraties in behandeling" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Toon de `over` modal alleen aan superusers" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "Selecteer basisvaluta voor de berekening van prijzen" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "dagen" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Download limiet" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Maximale downloadgrootte voor externe afbeelding" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "User-agent gebruikt om te downloaden van URL" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Sta toe om de user-agent te overschrijven die gebruikt wordt om afbeeldingen en bestanden van externe URL te downloaden (laat leeg voor de standaard)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Bevestiging vereist" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Vereis expliciete bevestiging van de gebruiker voor bepaalde actie." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Boomstructuur Diepte" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standaard diepte voor treeview. Diepere niveaus kunnen geladen worden wanneer ze nodig zijn." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Interval voor update" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Hoe vaak te controleren op updates (nul om uit te schakelen)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Automatische backup" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Automatische back-up van database- en mediabestanden inschakelen" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Automatische backup interval" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Geef het aantal dagen op tussen geautomatiseerde backup" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Interval Taak Verwijderen" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "Error Log Verwijderings Interval" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "Interval Verwijderen Notificatie" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Meldingen van gebruikers worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Barcode Invoer Vertraging" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Barcode invoerverwerking vertraging" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Barcode Webcam Ondersteuning" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode via webcam scannen in browser toestaan" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "Herzieningen onderdeel" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Revisieveld voor onderdeel inschakelen" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Sjabloon" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Initiële voorraadgegevens" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Aanmaken van eerste voorraad toestaan bij het toevoegen van een nieuw onderdeel" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Initiële leveranciergegevens" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Aanmaken van eerste leveranciersgegevens toestaan bij het toevoegen van een nieuw onderdeel" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Standaardicoon voor onderdeel catagorie" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Standaardicoon voor onderdeel catagorie (leeg betekent geen pictogram)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Forceer Parameter Eenheden" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Als er eenheden worden opgegeven, moeten parameterwaarden overeenkomen met de opgegeven eenheden" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Minimaal aantal prijs decimalen" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimaal aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "Maximum prijs decimalen" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximum aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Gebruik leveranciersprijzen" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Prijsvoordelen leveranciers opnemen in de totale prijsberekening" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Aankoopgeschiedenis overschrijven" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische order prijzen overschrijven de prijzen van de leverancier" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Gebruik voorraaditem prijzen" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Gebruik prijzen van handmatig ingevoerde voorraadgegevens voor prijsberekeningen" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Voorraad artikelprijs leeftijd" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Voorraaditems ouder dan dit aantal dagen uitsluiten van prijsberekeningen" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Gebruik variantprijzen" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenprijzen opnemen in de totale prijsberekening" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Alleen actieve varianten" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "Prijzen Herbouw interval" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Aantal dagen voordat de prijzen voor onderdelen automatisch worden bijgewerkt" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Interne prijs overschrijven" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "Indien beschikbaar, interne prijzen overschrijven berekeningen van prijsbereik" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Activeer Testrapporten" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Testrapporten Toevoegen" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Globaal unieke serienummers" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummers voor voorraaditems moeten globaal uniek zijn" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Serienummers automatisch invullen" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Automatisch invullen van serienummer in formulieren" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Verwijder uitgeputte voorraad" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Voorraadlocatie standaard icoon" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Standaard locatie pictogram (leeg betekent geen icoon)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "Geïnstalleerde voorraad items weergeven" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "Geïnstalleerde voorraadartikelen in voorraadtabellen tonen" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "Retourorders inschakelen" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "Retourorder functionaliteit inschakelen in de gebruikersinterface" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "Retourorder referentie patroon" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "Bewerk voltooide retourorders" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "Bewerken van retourorders toestaan nadat deze zijn voltooid" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bewerken van verkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bewerken van inkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "Schakel gebruikersregistratie met SSO in" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Zelfregistratie voor gebruikers middels SSO op de inlogpagina's inschakelen" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "SSO-gebruikers automatisch invullen" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Gebruikersdetails van SSO-accountgegevens automatisch invullen" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "Bij inschrijving gebruikers twee keer om hun e-mail vragen" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Wachtwoord tweemaal" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Toegestane domeinen" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Inschrijven beperken tot bepaalde domeinen (komma-gescheiden, beginnend met @)" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controleer of alle plug-ins zijn geïnstalleerd bij het opstarten - inschakelen in container-omgevingen" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "Plugins toestaan om URL-routes toe te voegen" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "Activeer navigatie integratie" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "Plugins toestaan om te integreren in navigatie" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "Activeer app integratie" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "Activeer plug-ins om apps toe te voegen" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "Activeer planning integratie" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Activeer plugin om periodiek taken uit te voeren" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "Activeer evenement integratie" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "Activeer plugin om op interne evenementen te reageren" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "Activeer project codes" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "Activeer project codes voor het bijhouden van projecten" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "Voorraadcontrole functionaliteit" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Schakel voorraadfunctionaliteit in voor het opnemen van voorraadniveaus en het berekenen van voorraadwaarde" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "Externe locaties uitsluiten" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Voorraadartikelen op externe locaties uitsluiten van voorraadberekeningen" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "Automatische Voorraadcontrole Periode" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Aantal dagen tussen automatische voorraadopname (ingesteld op nul om uit te schakelen)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "Rapport Verwijdering Interval" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Verberg inactieve delen bij items op de homepage" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Toon geabonneerde onderdelen" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Toon geabonneerde onderdelen op de homepage" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Toon geabonneerde categorieën" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "Toon geabonneerde onderdeel categorieën op de startpagina" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "Laat BOMs zien die wachten op validatie op de startpagina" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "Toon in behandeling SO verzendingen" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "Toon in behandeling zijnde SO verzendingen op de startpagina" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Nieuws tonen" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Nieuws op de startpagina weergeven" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "Inline labelweergave" -#: common/models.py:2330 +#: common/models.py:2332 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:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Standaard label printer" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "Instellen welke label printer standaard moet worden geselecteerd" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Inline rapport weergeven" -#: common/models.py:2346 +#: common/models.py:2348 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:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "Onderdelen weergeven in zoekscherm" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Zoek leveranciersonderdelen" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "Leveranciersonderdelen weergeven in zoekscherm" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Fabrikant onderdelen zoeken" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "Fabrikant onderdelen weergeven in zoekscherm" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Zoek categorieën" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "Toon onderdeelcategorieën in zoekvenster" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "Toon voorraad items in zoekvenster" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Verberg niet beschikbare voorraad items" -#: common/models.py:2390 +#: common/models.py:2392 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:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Locaties doorzoeken" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "Toon voorraadlocaties in zoekvenster" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Zoek bedrijven" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "Toon bedrijven in zoekvenster" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Zoek Bouworders" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Zoek retourorders" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "Inactieve retourbestellingen weglaten" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "Inactieve retourorders uitsluiten in zoekvenster" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "Zoekvoorbeeld resultaten" -#: common/models.py:2458 +#: common/models.py:2460 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:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Regex zoeken" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "Schakel reguliere expressies in zoekopdrachten in" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "Hele woorden zoeken" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "Zoekopdrachten geven resultaat voor hele woord overeenkomsten" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Toon hoeveelheid in formulieren" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "Hoeveelheid beschikbare onderdelen in sommige formulieren weergeven" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "Escape-toets sluit formulieren" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "Gebruik de Escape-toets om standaard formulieren te sluiten" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Vaste navigatiebalk" -#: common/models.py:2489 +#: common/models.py:2491 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:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Datum formaat" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Voorkeursindeling voor weergave van datums" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Onderdeel planning" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "Toon informatie voor het plannen van onderdelen" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Voorraadcontrole onderdeel" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "Tabel tekenreekslengte" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "Foutrapportages ontvangen" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "Meldingen ontvangen van systeemfouten" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Gebruiker" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Prijs" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "Eindpunt" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "Eindpunt waarop deze webhook wordt ontvangen" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Geheim" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "Gedeeld geheim voor HMAC" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Koptekst" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "Aan gewerkt" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Titel" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Gepubliceerd" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Samenvatting" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Gelezen" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "Afbeelding" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Afbeelding" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbool" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definitie" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Bijlage" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Ontbrekend bestand" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Externe link ontbreekt" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Opmerking" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Nieuw: {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "Een nieuwe order is aangemaakt en aan u toegewezen" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "Artikelen zijn ontvangen tegen een inkooporder" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Bestandsnaam" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "Vergelijk Velden" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Geïmporteerde onderdelen" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Bedrijf" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Bedrijven" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "URL bedrijfswebsite" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Telefoonnummer" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Telefoonnummer voor contact" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Contact e-mailadres" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Contactpunt" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Link naar externe bedrijfsinformatie" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Fabriceert dit bedrijf onderdelen?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Adres" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basis onderdeel" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Onderdeel selecteren" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Onderdeel selecteren" msgid "Manufacturer" msgstr "Fabrikant" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Fabrikant selecteren" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Parameternaam" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Waarde" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Eenheden" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Parameter eenheden" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Leveranciersonderdeel" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd msgid "Supplier" msgstr "Leverancier" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Opmerking" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "basisprijs" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "meerdere" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Order meerdere" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Klant" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Telefoon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "Fabrikant onderdeel verwijderen" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Intern onderdeel" @@ -4838,7 +4939,7 @@ msgstr "Geen fabrikanten informatie beschikbaar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "Verwijder leveranciers onderdeel" msgid "No supplier information available" msgstr "Geen leveranciersinformatie beschikbaar" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -5022,99 +5123,107 @@ msgstr "Nieuwe Klant" msgid "New Company" msgstr "Nieuw Bedrijf" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Geplaatst" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "Totaalprijs" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum." -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Aangemaakt Door" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "ontvangen door" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 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:1093 +#: order/models.py:1086 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:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "Leveranciersonderdeel" msgid "Received" msgstr "Ontvangen" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Verzonden" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Zending" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1973 +#: order/models.py:1966 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:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Regel" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Artikel" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" @@ -5910,7 +6019,7 @@ msgstr "Streepjescode is al in gebruik" msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" @@ -5922,59 +6031,59 @@ msgstr "Bestemmingslocatie moet worden opgegeven" msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Kwijt" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Retour" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "Verzendingen in behandeling" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Acties" @@ -6401,21 +6510,22 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Standaard locatie" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Totale Voorraad" @@ -6641,421 +6755,421 @@ msgstr "Totale Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Onderdeel Categorieën" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Onderdelen mogen niet rechtstreeks aan een structurele categorie worden toegewezen, maar kunnen worden toegewezen aan subcategorieën." -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Onderdeel naam" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "Standaardleverancier" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "Eenheden voor dit onderdeel" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Datum" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Aantal onderdelen" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Ingeschakeld" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "Geen onderdelen geselecteerd" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "Toegewezen aan Productieorder" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "Geen actie gespecificeerd" msgid "No matching action found" msgstr "Geen overeenkomende actie gevonden" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Geen overeenkomst gevonden voor streepjescodegegevens" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Voorraadlocaties" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "Inkooporder Bron" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "Bestemming Verkooporder" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Afgewezen" msgid "Quarantined" msgstr "In quarantaine geplaatst" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Verouderde volgcode" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Voorraaditem gemaakt" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Bewerken voorraadartikel" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Serienummer toegewezen" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Voorraad geteld" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Voorraad handmatig toegevoegd" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Voorraad handmatig verwijderd" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Locatie veranderd" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Voorraad bijgewerkt" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Gemonteerd" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Gedemonteerd" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Geïnstalleerd componentartikel" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Verwijderd componentartikel" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Splits van bovenliggend item" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Splits onderliggende item" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Geconverteerd naar variant" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Product aangemaakt" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Product voltooid" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Build order uitvoer afgewezen" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Verbruikt door productieorder" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Verzonden onder verkooporder" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Ontvangen onder verkooporder" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Geretourneerd onder retourorder" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Naar klant verzonden" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Geretourneerd door klant" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "Voorraad overzetten" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Product" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Geen locatie ingesteld" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Nieuwe Locatie" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Verwijderen" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "De volgende onderdelen hebben een lage vereiste voorraad" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index c409784645..d429e7cd88 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: no\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API-endepunkt ikke funnet" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Brukeren har ikke rettigheter til å se denne modellen" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Ugyldig enhet angitt ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Ingen verdi angitt" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Kunne ikke konvertere {original} til {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Ugyldig mengde oppgitt" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Ugyldig mengde oppgitt ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Feildetaljer kan finnes i admin-panelet" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Oppgi dato" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Notater" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Verdi '{name}' vises ikke i mønsterformat" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Angitt verdi samsvarer ikke med påkrevd mønster: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Den oppgitte primære e-postadressen er ikke gyldig." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Det oppgitte e-postdomenet er ikke godkjent." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Registrering er deaktivert." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Tom serienummerstreng" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Duplisert serienummer" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Ugyldig gruppesekvens: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Gruppesekvens {group} overskrider tillatt antall ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Ugyldig gruppesekvens: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Ingen serienummer funnet" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Antall unike serienumre ({len(serials)}) må samsvare med antallet ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tagger fra denne verdien" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Tilkoblingsfeil" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Serveren svarte med ugyldig statuskode" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Det har oppstått et unntak" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Serveren svarte med ugyldig \"Content-Length\"-verdi" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Bildestørrelsen er for stor" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Bildenedlasting overskred maksimal størrelse" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Ekstern server returnerte tomt svar" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Angitt URL er ikke en gyldig bildefil" @@ -364,8 +364,8 @@ msgstr "Kinesisk (tradisjonell)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Logg inn på appen" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Utvidelse-metadata" msgid "JSON metadata field, for use by external plugins" msgstr "JSON-metadatafelt, for bruk av eksterne utvidelser" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Uriktig formatert mønster" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Ukjent formatnøkkel spesifisert" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøkkel" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Referansefeltet kan ikke være tomt" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Referansen må samsvare påkrevd mønster" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Referansenummeret er for stort" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Navn" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Markdown-notater (valgfritt)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Strekkodedata" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Tredjeparts strekkodedata" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Strekkode-hash" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Unik hash av strekkodedata" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Eksisterende strekkode funnet" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Serverfeil" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Valuta" msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Brukernavn" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Fornavn" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "Fornavn på brukeren" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Etternavn" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "Etternavn på brukeren" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "E-postadressen til brukeren" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "Personale" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "Har denne brukeren personelltillatelser" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "Superbruker" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "Er denne brukeren en superbruker" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "Er denne brukeren en superbruker" msgid "Active" msgstr "Aktiv" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "Er denne brukerkontoen aktiv" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Du har ikke tillatelse til å endre denne brukerrollen." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Bare superbrukere kan opprette nye brukere" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Din konto er opprettet." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Vennligst bruk funksjonen for å tilbakestille passord for å logge inn" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Velkommen til InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Ingen datarader funnet i fil" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Ingen datarader oppgitt" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliaktkolonne: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Eksternt bilde" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URLtil ekstern bildefil" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "E-post backend ikke konfigurert" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "InvenTree's-systemets helsesjekker mislyktes" @@ -691,122 +691,122 @@ msgstr "Ugyldig fysisk enhet" msgid "Not a valid currency code" msgstr "Ikke en gyldig valutakode" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Svinn-verdien kan ikke være negativ" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Svinn kan ikke overstige 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Ugyldig verdi for svinn" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Rediger brukerinformasjon" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Velg passord" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Passordfeltene må samsvare" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Feil passord angitt" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Systeminformasjon" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produksjon" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Utstedt av" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Valgfritt" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Sammenstilling" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Spores" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Tildelt" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Tildelt" msgid "Available" msgstr "Tilgjengelig" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Produksjonsordre" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Produksjonsordre" msgid "Build Orders" msgstr "Produksjonsordrer" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "Sammenstillings-BOMen er ikke godkjent" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "Produksjonsordre kan ikke opprettes for en inaktiv del" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "Produksjonsordre kan ikke opprettes for en ulåst del" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Ugyldig valg for overordnet produksjon" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Ansvarlig bruker eller gruppe må spesifiseres" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Produksjonsordrens del kan ikke endres" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Produksjonsordre-referanse" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Produksjonsordre-referanse" msgid "Reference" msgstr "Referanse" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Kort beskrivelse av produksjonen (valgfritt)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Produksjonsordre som denne produksjonen er tildelt" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Del" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Velg del å produsere" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Salgsordrereferanse" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordren denne produksjonen er tildelt til" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kildeplassering" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Velg plassering å ta lagerbeholdning fra for denne produksjonen (la stå tomt for a ta fra alle lagerplasseringer)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Fullført plassering" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Velg plassering der fullførte artikler vil bli lagret" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Produksjonsmengde" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Antall lagervarer å produsere" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Fullførte artikler" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Produksjonsstatus" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Batchkode" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldato for ferdigstillelse. Produksjonen vil være forfalt etter denne datoen." -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "fullført av" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Lenke til ekstern URL" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Produksjonsprioritet" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Produksjonsordrens prioritet" msgid "Project Code" msgstr "Prosjektkode" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Prosjektkode for denne produksjonsordren" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "Kunne ikke delegere bort oppgaven for å fullføre tildelinger" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Produksjonsordre {build} er fullført" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "En produksjonsordre er fullført" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Ingen produksjonsartikkel spesifisert" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Produksjonsartikkelen er allerede fullført" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Produksjonsartikkel {serial} har ikke bestått alle påkrevde tester" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "Produksjonsartikkel" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Produksjonsobjekt" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Produksjonsobjekt" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Produksjonsobjekt" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Antall" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Påkrevd antall for produksjonsordre" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Produksjonselement må spesifisere en produksjonsartikkel, da master-del er merket som sporbar" -#: build/models.py:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Lagervare for montering" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Delnavn" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "Etikett for prosjektkode" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Produksjonsartikkel" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Produksjonsartikkel samsvarer ikke med overordnet produksjon" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Resultatdel samsvarer ikke med produksjonsordredel" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Denne produksjonsartikkelen er allerede fullført" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Denne produksjonsartikkelen er ikke fullt tildelt" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Angi antall for produksjonsartikkel" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Heltallsverdi kreves for sporbare deler" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for produksjonsartikler" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Angi serienummer for produksjonsartikler" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Plassering" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "Lagerplassering for produksjonsartikkel" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk tildeling av serienummer" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "Serienumre må angis for sporbare deler" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Lagerplassering for skrotede produksjonsartikler" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Forkast tildelinger" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Forkast tildelinger fra skrotede produksjonsartikler" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Grunn for skroting av produksjonsartikler" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Status" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullfør artikler dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "Bruk tildelt lagerbeholdning" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "Bruk all lagerbeholdning som allerede er tildelt denne produksjonen" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige artikler" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle produksjonsartikler som ikke er fullført" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Ikke tillatt" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne produksjonsordren" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Fjern tildeling før produksjonsordren fullføres" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Overtildelt lagerbeholdning" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt produksjonsordren" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Noen lagervarer har blitt overtildelt" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Godta at lagervarer ikke er fullt tildelt til denne produksjonsordren" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Godta uferdig" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Godta at nødvendig antall fullførte produksjonsartikler ikke er nådd" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Nødvendig produksjonsmengde er ikke nådd" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Produksjonslinje" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Produksjonsartikkel" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "Produksjonsartikkel må peke til samme produksjon" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Produksjonsartikkel" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part må peke på den samme delen som produksjonsordren" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerplassering hvor deler skal hentes (la stå tomt for å ta fra alle plasseringer)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Eksluderer plassering" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte plasseringen" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Utskiftbar lagerbeholdning" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer ved flere plasseringer kan brukes om hverandre" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Erstatning-lagerbeholdning" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Valgfrie artikler" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "Kunne ikke starte auto-tideling" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "Leverandørens delnummer" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Produsentens varenummer" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "Plasseringsnavn" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "Produksjonsreferanse" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "BOM-referanse" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Emballasje" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Del-ID" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "Del -IPN" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Delbeskrivelse" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Serienummer" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "Tildelt antall" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "Tilgjengelig antall" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "Delkategori-ID" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "Delkategorinavn" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Sporbar" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "Nedarvet" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Tillat Varianter" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "BOM-artikkel" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Tildelt lagerbeholdning" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "I bestilling" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "Tilgjengelige erstatningsvarer" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "Tilgjengelige variantvarer" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "Totalt tilgjengelig lagerbeholdning" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "Ekstern lagerbeholdning" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Kansellert" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Fullført" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Lagerbeholdning kreves for produksjonsordre" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Forfalt produksjonsordre" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Produksjonsordre {bo} er nå forfalt" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Fullførte byggeresultater" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Fullførte byggeresultater" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Salgsordre" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Prioritet" @@ -1968,7 +1977,7 @@ msgstr "Lagerkilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige plasseringer." -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Destinasjon" @@ -1981,13 +1990,13 @@ msgstr "Målplassering er ikke spesifisert" msgid "Allocated Parts" msgstr "Tildelte deler" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Parti" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Opprettet" @@ -2120,7 +2129,7 @@ msgstr "Ny produksjonsordre" msgid "Build Order Details" msgstr "Produksjonsordre-detaljer" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Ufullstendige artikler" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "Er lenke" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "Er fil" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "Brukeren har ikke tillatelse til å slette dette vedlegget" @@ -2209,1631 +2218,1631 @@ msgstr "{name.title()} Fil" msgid "Select {name} file to upload" msgstr "Velg {name} fil som skal lastes opp" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Oppdatert" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Tidsstempel for forrige oppdatering" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "Nettstedets URL er låst av konfigurasjon" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Unik prosjektkode" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Prosjektbeskrivelse" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "Bruker eller gruppe ansvarlig for dette prosjektet" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstaver)" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "Innstillings verdi" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "Verdien må være et heltall" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "Nøkkelstreng må være unik" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Ingen gruppe" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Omstart kreves" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endret som krever en omstart av serveren" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Ventende migrasjoner" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "Antall ventende databasemigreringer" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Navn på serverinstans" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "Strengbeskrivelse for serverinstansen" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Bruk instansnavn" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Bruk instansnavnet på tittellinjen" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Begrens visning av 'om'" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Vis `about`-modal kun til superbrukere" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "Base-URL" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "Base-URL for serverinstans" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "Velg grunnvalutaen for prisberegninger" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "Støttede valutaer" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "Liste over støttede valutakoder" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "Oppdateringsintervall for valuta" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Hvor ofte valutakurser skal oppdateres (sett til null for å deaktiverere)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "dager" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "Valutaoppdaterings-plugin" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "Valgt valutaoppdaterings-plugin" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Tillat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Nedlastingsgrense" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "User-Agent brukt for å laste ned fra URL" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Tillat overstyring av User-Agent brukt for å laste ned bilder og filer fra eksterne URLer (lå stå blank for standard)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "Streng URL-validering" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "Krev skjemaspesifikasjon ved validering av URLer" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Krev bekreftelse" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Krev eksplisitt brukerbekreftelse for visse handlinger." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Tredybde" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standard tredybde for trevisning. Dypere nivåer kan lastes inn ved behov." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Intervall for oppdateringssjekk" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Tidsintervall for å se etter oppdateringer(sett til null for å skru av)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Automatisk sikkerhetskopiering" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Automatisk sikkerhetskopieringsintervall" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Angi antall dager mellom automatiske sikkerhetskopieringshendelser" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Slettingsintervall for oppgaver" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "Slettingsintervall for feillogg" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "Feilloggene vil bli slettet etter et angitt antall dager" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "Slettingsintervall for varsler" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Brukervarsler slettes etter angitt antall dager" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Strekkodestøtte" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "Aktiver støtte for strekkodeleser i webgrensesnittet" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Innlesingsforsinkelse for strekkode" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Tidsforsinkelse for behandling av strekkode" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Støtte for strekkodewebkamera" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Tillat strekkodelesning via webkamera i nettleseren" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "Vis Strekkodedata" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "Vis strekkodedata som tekst" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "Delrevisjoner" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Aktiver revisjonsfeltet for Del" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "IPN regex" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulært uttrykksmønster for matching av internt delnummer" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Tilat duplikat av internt delnummer" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme interne delnummer" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Tillat redigering av internt delnummer" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat endring av IPN-verdien mens du redigerer en del" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Kopier BOM-data fra del" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopier BOM-data som standard når du dupliserer en del" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Kopier parameterdata fra del" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopier parameterdata som standard ved duplisering av en del" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Kopier testdata fra del" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Kopier designmaler for kategoriparametere" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Mal" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Komponent" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Salgbar" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Vis relaterte deler" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Vis relaterte deler i en del" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Innledende lagerbeholdningsdata" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Tillat oppretting av innledende lagerbeholdning når en ny del opprettes" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Innledende leverandørdata" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Tillat oppretting av innledende leverandørdata når en ny del opprettes" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Visningsformat for delnavn" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Format for å vise delnavnet" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Standardikon for delkategorier" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Standardikon for delkategorier (tomt betyr ingen ikon)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Tving parameterenheter" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Hvis det er angitt en enhet, skal parameterverdiene samsvare med de angitte enhetene" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Minimum antall desimalplasser for priser" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimum antall desimalplasser som skal vises når man gjengir prisdata" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalt antall desimalplasser for priser" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maksimalt antall desimalplasser som skal vises når man gjengir prisdata" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Bruk leverandørpriser" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inkluder leverandørprisbrudd i beregninger av totalpriser" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Innkjøpshistorikkoverstyring" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historiske innkjøpspriser overstyrer leverandørprisnivåer" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Bruk lagervarepriser" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Bruk priser fra manuelt innlagte lagervarer for prisberegninger" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Lagervare prisalder" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Unnta lagervarer som er eldre enn dette antall dager fra prisberegninger" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Bruk Variantpriser" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Inkluder variantpriser i beregninger av totale priser" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Kun aktive varianter" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "Bruk kun aktive variantdeler til beregning av variantprising" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "Intervall for rekalkulering av priser" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Antall dager før delpriser blir automatisk oppdatert" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Interne Priser" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Aktiver interne priser for deler" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Intern prisoverstyring" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "Hvis tilgjengelig, overstyrer interne priser kalkulering av prisområde" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Aktiver etikettutskrift" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Aktiver utskrift av etiketter fra nettleseren" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "Etikettbilde-DPI" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-oppløsning når når det genereres bildefiler for sending til utvidelser for etikettutskrift" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Aktiver Rapporter" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Aktiver generering av rapporter" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Feilsøkingsmodus" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Generer rapporter i feilsøkingsmodus (HTML-output)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Sidestørrelse" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Standard sidestørrelse for PDF-rapporter" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Aktiver Testrapporter" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Aktiver generering av testrapporter" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Legg ved testrapporter" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Når det skrives ut en Testrapport, legg ved en kopi av Testrapporten på den assosierte Lagervaren" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Globalt Unike Serienummer" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummer for lagervarer må være globalt unike" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Automatisk tildeling av Serienummer" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Aumatisk fyll ut serienummer i skjemaer" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Slett oppbrukt lagerbeholdning" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Batchkodemal" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Mal for generering av standard batchkoder for lagervarer" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Lagerbeholdning utløper" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Selg utløpt lagerbeholdning" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Tillat salg av utgått lagerbeholdning" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Foreldet lagerbeholdning tidsintervall" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Antall dager før lagervarer er ansett som foreldet før utløp" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Produsér Utløpt Lagerbeholdning" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Tillat produksjon med utløpt lagerbeholdning" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Kontroll over eierskap av lagerbeholdning" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Aktiver eierskap over lagerplasseringer og -varer" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Lagerplassering standard ikon" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "Vis installerte lagervarer" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "Vis installerte lagervarer i lagertabeller" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "Aktiver returordrer" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "Returordre-referansemønster" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "Rediger fullførte returordrer" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "Tillat redigering av returordrer etter de er fullført" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Salgsordre-referansemønster" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Påkrevd mønster for å generere salgsordrereferansefelt" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "Salgsordre standard fraktmetode" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Tillat redigering av salgsordrer etter de har blitt sendt eller fullført" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Tillat redigering av innkjøpsordre etter at de har blitt sendt eller fullført" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "Autofullfør innkjøpsordrer" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatisk merk innkjøpsordre som fullført når alle ordrelinjer er mottatt" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "Aktiver SSO-registrering" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "Krevt at brukere angir e-post ved registrering" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO-brukere" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "Spør brukeren om e-post to ganger ved registrering" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "Spør brukeren om passord to ganger ved registrering" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Tillatte domener" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Gruppe ved registrering" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle utvidelser er installert ved oppstart - aktiver i containermiljøer" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "Aktiver URL-integrasjon" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "Tillat utvidelser å legge til URL-ruter" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrasjon" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "Tillat utvidelser å integrere mot navigasjon" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "Aktiver app-integrasjon" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "Tillat utvidelser å legge til apper" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "Aktiver tidsplanintegrasjon" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Tillat utvidelser å kjøre planlagte oppgaver" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrasjon" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "Tillat utvidelser å reagere på interne hendelser" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "Aktiver prosjektkoder" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "Aktiver prosjektkoder for å spore prosjekter" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "Varetellingsfunksjonalitet" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Aktiver varetellingsfunksjonalitet for å registrere lagernivåer og regne ut lagerverdi" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "Ekskluder eksterne plasseringer" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Eksluder lagervarer i eksterne plasseringer fra varetellinger" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "Automatisk varetellingsperiode" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Antall dager mellom automatisk varetellingsregistrering (sett til null for å deaktivere)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "Rapportslettingsintervall" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "Vis brukernes fulle navn" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "Vis brukernes fulle navn istedet for brukernavn" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 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:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "Skjul inaktive elementer" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skjul inaktive deler i resultater som vises på hjemmesiden" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Vis abonnerte deler" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Vis abonnerte deler på startsiden" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Vis abonnerte kategorier" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "Vis abonnerte delkatekorier på startsiden" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på startsiden" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "Vis stykklister som venter på validering på startsiden" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endrede lagervarer på startsiden" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Vis lav lagerbeholdning" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Vis lave lagervarer på startsiden" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Vis tomme lagervarer" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "Vis tom lagerbeholdning på startsiden" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Vis nødvendig lagerbeholdning" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for produksjon på startsiden" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Vis utløpt lagerbeholdning" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagervarer på startsiden" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Vis foreldet lagerbeholdning" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "Vis foreldet lagerbeholdning på startsiden" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Vis ventende produksjoner" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Vi ventende produksjoner på startsiden" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Vis forfalte produksjoner" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "Vis forfalte produksjoner på startsiden" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Vis utestående Innkjøpsordrer" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Vis utestående Innkjøpsordrer på startsiden" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Vis forfalte Innkjøpsordrer" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Vis forfalte Innkjøpsordrer på startsiden" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Vis utestående Salgsordrer" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "Vis utestående Salgsordrer på startsiden" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Vis forfalte SOer" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "Vis forfalte SOer på startsiden" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "Vis ventende SO-forsendelser" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "Vis ventende SO-forsendelser på startsiden" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Vis Nyheter" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Vis nyheter på startsiden" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "Innebygd etikettvisning" -#: common/models.py:2330 +#: common/models.py:2332 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:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Standard etikettskriver" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Innebygd rapportvisning" -#: common/models.py:2346 +#: common/models.py:2348 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:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Søk i Deler" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "Vis deler i forhåndsvsningsvinduet for søk" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Søk i Leverandørdeler" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Søk i Produsentdeler" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Skjul Inaktive Deler" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Søk i kategorier" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Søk i lagerbeholdning" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Skjul utilgjengelige Lagervarer" -#: common/models.py:2390 +#: common/models.py:2392 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:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Søk i Plasseringer" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Søk i Firma" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "Vis firma i forhåndsvsningsvinduet for søk" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Søk i Produksjonsordrer" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Søk i Innkjøpsordrer" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Ekskluder inaktive Innkjøpsordrer" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Søk i Salgsordrer" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "Ekskluder Inaktive Salgsordrer" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Søk i Returordrer" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "Vis returordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "Ekskluder Inaktive Returordrer" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "Forhåndsvisning av søkeresultater" -#: common/models.py:2458 +#: common/models.py:2460 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:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Regex-søk" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "Aktiver regulære uttrykk i søkeord" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "Helordsøk" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "Søk returnerer resultater for treff med hele ord" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Vis antall i skjemaer" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "Vis antall tilgjengelige deler i noen skjemaer" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "Escape-knappen lukker skjemaer" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "Bruk Escape-knappen for å lukke modal-skjemaer" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Fast navigasjonsbar" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Datoformat" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Delplanlegging" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "Vis delplanleggingsinformasjon" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "Tabellstrenglengde" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "Maksimal lengdegrense for tekst vist i tabeller" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "Motta feilrapporter" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "Motta varsler om systemfeil" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Bruker" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Pris" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "Sjetong" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "Vert" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Tittel" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tittel" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Tittel" msgid "Link" msgstr "Lenke" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Publisert" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Forfatter" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Les" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "Er dette nyhetselementet lest?" msgid "Image" msgstr "Bilde" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Bildefil" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "Enhetssymbolet må være unikt" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "Enhetsnavn må være en gyldig identifikator" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "Enhetsnavn" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "Valgfritt enhetssymbol" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definisjon" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "Enhetsdefinisjon" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Vedlegg" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Fil mangler" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Mangler eksternlenke" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "Vedleggskommentar" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "Opplastet dato" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "Datoen som filen ble lastet opp" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "Filstørrelse" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "Filstørrelse i byte" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "Ugyldig modelltype spesifisert for vedlegg" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "Nøkkel" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Ny {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 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:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "{verbose_name} kansellert" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "En ordre som er tildelt til deg ble kansellert" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "Artikler mottatt" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "Artikler har blitt mottatt mot en innkjøpsordre" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "Artikler har blitt mottatt mot en returordre" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "Feil oppstått i utvidelse" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "Kjører" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "Ventende oppgaver" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "Planlagte oppgaver" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "Mislykkede oppgaver" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "Oppgave-ID" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "Unik oppgave-ID" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "Lås" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "Låsetidspunkt" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "Oppgavenavn" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "Funksjon" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "Funksjonsnavn" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "Argumenter" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "Oppgaveargumenter" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "Nøkkelordargumenter" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "Nøkkelordargumenter for oppgave" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Filnavn" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "Modelltype" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "Brukeren har ikke tillatelse tillatelse å opprette eller endre vedlegg for denne modellen" @@ -4116,15 +4217,15 @@ msgstr "Sammelign felter" msgid "Match Items" msgstr "Sammenlign varer" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "Matching av felter mislyktes" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Deler importert" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "Intern del er aktiv" msgid "Supplier is Active" msgstr "Leverandør er aktiv" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Firmaer" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Beskrivelse av firma" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "Beskrivelse av firmaet" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Nettside" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "Bedriftens nettside URL" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Telefonnummer" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Kontakt-telefonnummer" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Kontakt e-post" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Kontaktpunkt" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Link til ekstern bedriftsinformasjon" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "Er firmaet aktivt?" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "Er kunde" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Selger du varer til dette firmaet?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "Er leverandør" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Kjøper du varer fra dette firmaet?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "Er produsent" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Produserer dette firmaet deler?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Adresse" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "Adresser" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "Velg selskap" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "Adressetittel" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "Tittel som beskriver addressen" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "Hovedadresse" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "Sett som hovedadresse" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Linje 1" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "Adresselinje 1" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Linje 2" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "Adresselinje 2" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Postnummer" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "Poststed/område" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "Postnummerets by/område" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "Delstat/provins" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "Delstat eller provins" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "Land" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "Adressens land" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "Notater til transportør" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "Notater for transportør" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "Interne fraktnotater" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "Fraktnotater for internt bruk" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Produsentdeler" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisdel" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Velg del" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Velg del" msgid "Manufacturer" msgstr "Produsent" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Velg produsent" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Velg produsent" msgid "MPN" msgstr "MPN" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL for ekstern produsentdel-lenke" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "Produsentens delbeskrivelse" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "Produsentdel parameter" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Parameternavn" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Verdi" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Parameterverdi" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Enheter" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Parameterenheter" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Leverandørdel" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "Pakkeenhetene må være komptible med delens basisenhet" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "Pakkeenhet må være mer enn null" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" msgid "Supplier" msgstr "Leverandør" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "Er denne leverandørdelen aktiv?" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Velg produsentdel" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "URL for ekstern leverandørdel-lenke" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Notat" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Delemballasje" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "Delemballasje" msgid "Pack Quantity" msgstr "Pakkeantall" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totalt antall i en enkelt pakke. La være tom for enkeltenheter." -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "flere" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Bestill flere" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "Antall tilgjengelig fra leverandør" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "Tilgjengelighet oppdatert" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "Dato for siste oppdatering av tilgjengelighetsdata" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "Leverandørens prisbrudd" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Standardvaluta brukt for denne leverandøren" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "Bedriftsnavn" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "Slett bilde" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Kunde" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "Fjern Bilde" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "Fjern tilknyttet bilde fra dette firmaet" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Fjern" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "Last opp bilde" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "Last ned Bilde" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "Slett produsentdel" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Intern del" @@ -4838,7 +4939,7 @@ msgstr "Ingen produsentinformasjon tilgjengelig" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "Slett Leverandørdel" msgid "No supplier information available" msgstr "Ingen leverandørinformasjon tilgjengelig" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Lagervarer" @@ -5022,99 +5123,107 @@ msgstr "Ny Kunde" msgid "New Company" msgstr "Nytt Firma" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Plassert" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "Gyldig" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Ukjent" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "Total pris" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Ordre" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "Returordre" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Total pris for denne ordren" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Ordrevaluta" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "Kontakten samsvarer ikke med valgt firma" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "Ordrebeskrivelse (valgfritt)" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Lenke til ekstern side" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Forventet dato for levering av ordre. Bestillingen vil være forfalt etter denne datoen." -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Opprettet av" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Bruker eller gruppe ansvarlig for ordren" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "Kontaktpunkt for denne ordren" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "Selskapsadresse for denne ordren" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "Status for innkjøpsordre" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Firma som varene blir bestilt fra" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "Leverandørreferanse" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "Leverandørens ordrereferanse" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "mottatt av" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Sendt dato" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Dato bestillingen ble sendt" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "Dato ordre ble fullført" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "Delleverandør må matche PO-leverandør" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Forsendelsesdato" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "sendt av" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige forsendelser" -#: order/models.py:1093 +#: order/models.py:1086 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:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Antall" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "Linjereferanse" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "Linjenotater" -#: order/models.py:1393 +#: order/models.py:1386 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:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "Linjeelementbeskrivelse (valgfritt)" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "Kontekst" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "slettet" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "Leverandørdel" msgid "Received" msgstr "Mottatt" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Sendt" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Leveringsdato" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "Dato for levering av forsendelse" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1973 +#: order/models.py:1966 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:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Linje" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Artikkel" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "Kun serialiserte artikler kan tilordnes en Returordre" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "Utfall" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "Leverandørnavn" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "Ordren kan ikke kanselleres" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "Ordren har ufullstendige linjeelementer" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "Ordren er ikke åpen" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Innkjøpsvaluta" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "Internt delnummer" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "Leverandørdel må angis" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "Innkjøpsordre må angis" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "Leverandør må samsvare med innkjøpsordre" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "Innkjøpsordre må samsvare med leverandør" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "Ordrelinje" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Angi serienummer for innkommende lagervarer" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Strekkode" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "Skannet strekkode" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "Strekkode allerede i bruk" @@ -5910,7 +6019,7 @@ msgstr "Strekkode allerede i bruk" msgid "An integer quantity must be provided for trackable parts" msgstr "Heltallsverdi må angis for sporbare deler" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" @@ -5922,59 +6031,59 @@ msgstr "Målplassering må angis" msgid "Supplied barcode values must be unique" msgstr "Angitte strekkodeverdier må være unike" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "Valuta for salgspris" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "Ingen forsendelsesopplysninger oppgitt" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "Linjeelement er ikke knyttet til denne ordren" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "Mengden må være positiv" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "Følgende serienummer er allerede tildelt" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "Artikler kan bare mottas mot ordrer som pågår" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "Valuta for linje" @@ -5982,7 +6091,7 @@ msgstr "Valuta for linje" msgid "Lost" msgstr "Tapt" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Returnert" @@ -6184,8 +6293,8 @@ msgstr "Duplikatvalg" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "Ventende forsendelser" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Handlinger" @@ -6401,21 +6510,22 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Revisjon" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Nøkkelord" @@ -6427,7 +6537,7 @@ msgstr "Del-bilde" msgid "Category ID" msgstr "Kategori-ID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "Kategorinavn" @@ -6440,11 +6550,11 @@ msgstr "Standard plasserings-ID" msgid "Default Supplier ID" msgstr "Standard leverandør-ID" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" @@ -6452,23 +6562,23 @@ msgstr "Minimal lagerbeholdning" msgid "Used In" msgstr "Brukt i" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Produseres" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Maksimal kostnad" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "Overordnet ID" @@ -6481,8 +6591,8 @@ msgstr "Overordnet navn" msgid "Category Path" msgstr "Sti til kategori" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "Overodnet IPN" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minstepris" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "Innkommende innkjøpsordre" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "Utgående salgsordre" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "Lagervarer produsert av en produksjonsordre" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "Lagervarer påkrevd for produksjonsordre" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "Godkjenn hele Stykklisten" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "Dette alternativet må være valgt" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Kategori" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Standard plassering" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Total lagerbeholdning" @@ -6641,421 +6755,421 @@ msgstr "Total lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Delkategorier" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Standardplassering for deler i denne kategorien" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "Strukturell" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Deler kan ikke tilordnes direkte til en strukturell kategori, men kan tilordnes til underkategorier." -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Standard nøkkelord" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "Standard nøkkelord for deler i denne kategorien" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "Ikon" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "Ugyldig valg for overordnet del" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Delen '{self}' kan ikke brukes i BOM for '{parent}' (rekursiv)" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Delen '{parent}' er brukt i BOM for '{self}' (rekursiv)" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN må samsvare med regex-mønsteret {pattern}" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Delnavn" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Delkategori" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 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:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "Kontrollsum for BOM" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "Lagret BOM-kontrollsum" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "Eier ansvarlig for denne delen" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "Overstyr minstekostnad" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "Overstyr maksimal kostnad" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "Antall" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Dato" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Rapport" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "Valg må være unike" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Aktivert" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3635 +#: part/models.py:3647 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:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3642 +#: part/models.py:3654 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:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Valg" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "Sjekkboksparameter kan ikke ha enheter" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Sjekkboks" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "Nivå" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:4266 +#: part/models.py:4279 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:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4314 +#: part/models.py:4327 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:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4637 +#: part/models.py:4647 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:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" @@ -7457,326 +7571,326 @@ msgstr "Innkjøpsvaluta for lagervaren" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "Ingen deler valgt" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Angi initiell lagermengde for denne delen. Hvis antall er null, er ingen lagerbeholdning lagt til." -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Kan ikke konvertere fra gitte valutaer til {default_currency}" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Kan Produsere" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "Flere samsvarende deler funnet" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "Ingen samsvarende del funnet" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "Legg til lagertellingsinformasjon" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "Lagertelling" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "Delen er virtuall (ikke en fysisk del)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "Vis detaljer for del" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "Tildelt til produksjonsordrer" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "Tildelt til Salgsordrer" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "Minimalt lagerbeholdningsnivå" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "Prisområde" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "Siste serienummer" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "Søk etter serienummer" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "Varianter" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Lagerbeholdning" @@ -8330,11 +8448,11 @@ msgstr "Overstyr delprising" msgid "Edit" msgstr "Rediger" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "Sist oppdatert" @@ -8498,8 +8616,8 @@ msgstr "Ingen handling spesifisert" msgid "No matching action found" msgstr "Ingen samsvarende handling funnet" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Ingen treff funnet for strekkodedata" @@ -8524,52 +8642,52 @@ msgstr "Strekkode samsvarer med ekisterende element" msgid "No matching part data found" msgstr "Ingen samsvarende del-data funnet" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "Finner ingen matchende leverandørdeler" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "Flere samsvarende leverandørdeler funnet" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "Fant leverandørdel" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "Artikkelen er allerede mottatt" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "Ingen treff for leverandørstrekkode" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "Flere samsvarende elementer funnet" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "Ingen samsvarende element funnet" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "Strekkoden samsvarer ikke med eksisterende lagervare" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "Lagervare samsvarer ikke med linjeelement" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Utilstrekkelig lagerbeholdning" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "Lagervaren er tildelt en salgsordre" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "Ikke nok informasjon" @@ -8591,15 +8709,15 @@ msgstr "Ingen samsvarende innkjøpsordre for '{order}'" msgid "Purchase order does not match supplier" msgstr "Innkjøpsordre stemmer ikke med leverandør" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "Fant ikke ventende artikkel for leverandørdel" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "Mer informasjon nødvendig for å motta artikkelen" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "Mottok ordreartikkelen" @@ -8756,7 +8874,7 @@ msgstr "Slack innkommende webhook" msgid "URL that is used to send messages to a slack channel" msgstr "URL brukt til å sende meldinger til en Slack-kanal" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "Åpne lenke" @@ -8894,7 +9012,7 @@ msgstr "Gir støtte for å skanne TME-strekkoder" msgid "The Supplier which acts as 'TME'" msgstr "Leverandøren som fungerer som \"TME\"" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "Installasjon av utvidelse vellykket" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Installerte utvidelsen til {path}" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "Konfigurasjon av utvidelse" msgid "Plugin Configurations" msgstr "Konfigurasjon av utvidelser" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "Nøkkel" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "Utvidelsens \"Key\"" @@ -8994,7 +9108,7 @@ msgstr "Utvidelse" msgid "Method" msgstr "Metode" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "Ingen forfatter funnet" @@ -9091,43 +9205,43 @@ msgstr "Installasjonen ble ikke bekreftet" msgid "Either packagename of URL must be provided" msgstr "Enten pakkenavn eller URL må angis" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "Full omlasting" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "Utfør en full omlasting av utvidelsesregisteret" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "Tvangsomlasting" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "Tving en omlasting av utvidelsesregisteret, selv om det allerede er lastet" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "Hent inn utvidelser" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "Hent inn utvidelser og legg dem til i registeret" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "Aktivér utvidelse" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "Aktivér denne utvidelsen" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "Testresultater" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "Resultat" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "Ingen resultat" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Installerte artikler" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Serienummer" @@ -9450,7 +9564,7 @@ msgstr "part_image-taggen krever en Part-instans" msgid "company_image tag requires a Company instance" msgstr "company_image-taggen krever en Company-instans" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "Plasserings-ID" @@ -9459,58 +9573,58 @@ msgstr "Plasserings-ID" msgid "Location Path" msgstr "Plasserings-sti" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "Lagervare-ID" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "Statuskode" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "Leverandørdel-ID" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "Leverandør-ID" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "Kunde-ID" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Installert i" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "Produksjons-ID" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "Salgsordre-ID" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "Innkjøpsordre-ID" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Gjennomgang kreves" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Slett når oppbrukt" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Utløpsdato" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "Ekstern plassering" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "Del-tre" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "Utløpsdato før" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "Utløpsdato etter" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Foreldet" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:974 +#: stock/api.py:973 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:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "Lagerplasseringstype" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "Lagerplasseringstyper" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Standard ikom for alle plasseringer som ikke har satt et ikon (valgfritt)" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Lagerplassering" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Lagerplasseringer" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Eier" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "Velg eier" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagervarer kan ikke knyttes direkte mot en strukturell lagerplassering, men kan knyttes mot underplasseringer." -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "Ekstern" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "Dette er en ekstern lagerplassering" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "Plasseringstype" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "Lagerplasseringstype for denne plasseringen" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "De kan ikke gjøre denne plasseringen strukturell, da noen lagervarer allerede er plassert i den!" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagervarer kan ikke plasseres i strukturelle plasseringer!" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "Lagervare kan ikke opprettes for virtuelle deler" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Deltype ('{self.supplier_part.part}') må være {self.part}" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "Antall må være 1 for produkt med et serienummer" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Serienummeret kan ikke angis hvis antall er større enn 1" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "Elementet kan ikke tilhøre seg selv" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "Elementet må ha en produksjonsrefereanse om is_building=True" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "Produksjonsreferanse peker ikke til samme del-objekt" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "Overordnet lagervare" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "Basisdel" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "Velg en tilsvarende leverandørdel for denne lagervaren" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "Hvor er denne lagervaren plassert?" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "Inpakningen denne lagervaren er lagret i" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "Er denne artikkelen montert i en annen artikkel?" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "Lagerantall" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "Kildeproduksjon" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "Produksjon for denne lagervaren" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Brukt av" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "Produksjonsordren som brukte denne lagervaren" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "Kildeinnkjøpsordre" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "Innkjøpsordre for denne lagervaren" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "Tildelt Salgsordre" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Utløpsdato for lagervare. Lagerbeholdning vil bli ansett som utløpt etter denne datoen" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "Slett når oppbrukt" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "Slett lagervaren når beholdningen er oppbrukt" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "Innkjøpspris per enhet på kjøpstidspunktet" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "Konvertert til del" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "Delen er ikke angitt som sporbar" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "Antall må være heltall" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({self.quantity})" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "Serienumre må være en liste over tall" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "Lagervare har blitt tildelt en salgsordre" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "Lagervare er montert i en annen artikkel" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "Lagervare inneholder andre artikler" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "Lagervare har blitt tildelt til en kunde" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "Lagervare er for tiden i produksjon" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "Duplisert lagervare" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "Lagervarer må referere til samme del" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "Lagervarer må referere til samme leverandørdel" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "Lagerstatuskoder må være like" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagervare kan ikke flyttes fordi den ikke er på lager" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "Oppføringsnotater" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "Verdi må angis for denne testen" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "Testens verdi" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "Vedlegg til testresultat" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "Testnotater" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "Serienummeret er for høyt" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "Overodnet element" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Bruk pakningsstørrelse når du legger til: antall definert er antall pakker" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Utløpt" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "Underordnede artikler" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "Angi antall lagervarer som skal serialiseres" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "Angi serienummer for nye artikler" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "Til Lagerplassering" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "Valgfritt notatfelt" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummer kan ikke tilordnes denne delen" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "Velg lagervare å montere" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "Antall å installere" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "Angi antallet elementer som skal installeres" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "Legg til transaksjonsnotat (valgfritt)" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "Antall å installere må være minst 1" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "Lagervaren er utilgjengelig" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "Valgt del er ikke i stykklisten" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "Antall å installere må ikke overskride tilgjengelig antall" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "Lagerplassering for den avinstallerte artikkelen" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "Velg del å konvertere lagervare til" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "Valgt del er ikke et gyldig alternativ for konvertering" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Kan ikke konvertere lagerprodukt med tildelt leverandørdel" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "Lagerplassering for returnert artikkel" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "Velg lagervarer for å endre status" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "Ingen lagervarer valgt" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Underplasseringer" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "Valgt firma er ikke en kunde" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "Lagervare-tildelignsnotater" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "En liste av lagervarer må oppgis" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "Notater om lagersammenslåing" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "Tillat forskjellige leverandører" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "Tillat lagervarer med forskjellige leverandørdeler å slås sammen" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "Tillat forskjellig status" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "Tillat lagervarer med forskjellige statuskoder å slås sammen" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "Minst to lagervarer må oppgis" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "Lagervare primærnøkkel verdi" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "Lagervare statuskode" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "Lager transaksjonsnotater" @@ -10175,107 +10289,107 @@ msgstr "Avvist" msgid "Quarantined" msgstr "I Karantene" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Gammel lagervare sporingsoppføring" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Lagevare opprettet" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Redigerte lagervare" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Tildelte serienummer" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Lager opptelt" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Lagerbeholdning manuelt lagt til" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Lagerbeholdning manuelt fjernet" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Posisjon endret" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Lagerbeholdning oppdatert" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Montert i sammenstilling" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Fjernet fra sammenstilling" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Montert komponentartikkel" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Fjernet komponentartikkel" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Skill ut fra overordnet artikkel" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Skill ut fra underartikkel" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Sammenslåtte lagervarer" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Konvertert til variant" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Produksjonsartikkel opprettet" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Produksjonsartikkel fullført" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Produksjonsartikkel avvist" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Brukt av produksjonsordre" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Sendt mot salgsordre" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Mottatt mot innkjøpsordre" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Returnert mot returordre" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Sendt til kunde" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Returnert av kunde" @@ -10316,7 +10430,7 @@ msgstr "Notater for lagervare" msgid "Installed Stock Items" msgstr "Installerte lagervarer" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "Installer lagervare" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "Overfør lagerbeholdning" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Tilordne til kunde" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "Slett lagervare" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Produksjon" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "Gå til neste serienummer" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Ingen plassering satt" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "Ingen lagertelling utført" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Ny plassering" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Slett" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "Følgende deler har for lav lagerbeholdning" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Antall som kreves" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Legg til" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Ja" msgid "No" msgstr "Nei" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Brukere" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "Velg hvilke brukere som er tilordnet denne gruppen" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "Følgende brukere er medlemmer av flere grupper" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Personlig informasjon" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Tillatelser" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "Viktige datoer" @@ -15205,35 +15319,35 @@ msgstr "Sist gang tokenet ble brukt" msgid "Revoked" msgstr "Tilbakekalt" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Tillatelse satt" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Gruppe" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Visning" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Tillatelse til å se elementer" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Tillatelse til å legge til elementer" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Endre" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Tillatelse til å endre elementer" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index c6431a1394..447f02b846 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: pl\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Użytkownik nie ma uprawnień do przeglądania tego modelu" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Nieprawidłowa jednostka ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Nie podano wartości" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Nie udało się przeliczyć {original} na {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Podano nieprawidłową ilość" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Niepoprawna ilość ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Wprowadź dane" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Uwagi" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Wartość '{name}' nie pojawia się w formacie wzoru" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Podana wartość nie pasuje do wymaganego wzoru: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Podany podstawowy adres e-mail jest nieprawidłowy." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Podany e-mail domeny nie został zatwierdzony." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Rejestracja jest wyłączona." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Pusty ciąg numeru seryjnego" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Podwójny numer seryjny" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Nieprawidłowy zakres grupy: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Zakres grupy {group} przekracza dozwoloną ilość ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Nieprawidłowa kolejność grup: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Nie znaleziono numerów seryjnych" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Liczba unikalnych numerów seryjnych ({len(serials)}) musi odpowiadać ilości ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Usuń znaczniki HTML z tej wartości" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Błąd połączenia" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Serwer odpowiedział z nieprawidłowym kodem statusu" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Wystąpił wyjątek" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Serwer odpowiedział z nieprawidłową wartością Content-Length" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Rozmiar obrazu jest zbyt duży" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Przekroczono maksymalny rozmiar pobieranego obrazu" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Zdalny serwer zwrócił pustą odpowiedź" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Podany adres URL nie jest poprawnym plikiem obrazu" @@ -364,8 +364,8 @@ msgstr "chiński (tradycyjny)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Logowanie do aplikacji" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Wtyczka Metadane" msgid "JSON metadata field, for use by external plugins" msgstr "Pole metadanych JSON, do użycia przez wtyczki zewnętrzne" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Nieprawidłowo sformatowany wzór" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Określono nieznany format klucza" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Brak wymaganego formatu klucza" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Pole odniesienia nie może być puste" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Odniesienie musi być zgodne z wymaganym wzorem" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Numer odniesienia jest zbyt duży" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikaty nazw nie mogą istnieć pod tym samym rodzicem" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Nazwa" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Ścieżka" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Notatki Markdown (opcjonalne)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Dane kodu kreskowego" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Dane kodu kreskowego stron trzecich" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Hasz kodu kreskowego" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Unikalny hasz danych kodu kreskowego" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Znaleziono istniejący kod kreskowy" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Błąd serwera" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Waluta" msgid "Select currency from available options" msgstr "Wybierz walutę z dostępnych opcji" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Nie masz uprawnień do zmiany tej roli użytkownika." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Tylko superużytkownicy mogą tworzyć nowych użytkowników" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Twoje konto zostało utworzone." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Zresetuj hasło" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Witamy w InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Obrazek zewnętrzny" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "Adres URL zdalnego pliku obrazu" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Nie skonfigurowano backendu e-mail" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Sprawdzanie poziomu zdrowia InvenTree nie powiodło się" @@ -691,122 +691,122 @@ msgstr "Niewłaściwa jednostka fizyczna" msgid "Not a valid currency code" msgstr "Nieprawidłowy kod waluty" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Wartość przedawnienia nie może być ujemna" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Przedawnienie nie może przekroczyć 100 %" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Nieprawidłowa wartość przedawnienia" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Edytuj informacje użytkownika" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Ustaw hasło" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Hasła muszą być zgodne" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Podano nieprawidłowe hasło" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Informacja systemowa" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Dodane przez" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 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:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Opcjonalne" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Złożenie" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Śledzony" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Przydzielono" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Przydzielono" msgid "Available" msgstr "Dostępne" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Zlecenie Budowy" msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Odpowiedzialny użytkownik lub grupa muszą być określone" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Nie można zmienić elementu kompletacji" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Odwołanie do zamówienia wykonania" msgid "Reference" msgstr "Referencja" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Krótki opis produkcji (opcjonalny)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Komponent" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Priorytet budowy" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Priorytet tego zamówienia produkcji" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Priorytet tego zamówienia produkcji" msgid "Project Code" msgstr "Kod projektu" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Kod projektu dla tego zlecenia produkcji" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Ilość nie może być większa niż ilość wyjściowa" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Wyjście budowy {serial} nie przeszło wszystkich testów" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Zbuduj obiekt" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Zbuduj obiekt" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Zbuduj obiekt" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Ilość" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Wymagana ilość dla zlecenia produkcji" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Przydzielona ilość ({q}) nie może przekraczać dostępnej ilości zapasów magazynowych ({a})" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Ilość musi wynosić 1 dla serializowanych zasobów" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Ilość zapasów do przydzielenia do produkcji" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Nazwa komponentu" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Numer seryjny" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Automatycznie przydzielaj numery seryjne" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatycznie przydzielaj wymagane elementy z pasującymi numerami seryjnymi" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Odrzuć przydziały" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Zaakceptuj niekompletną alokację" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Usuń produkcje, które nie zostały zakończone" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Niedozwolone" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Zaakceptuj jako zużyte przez zlecenie produkcji" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Nadmierny przydział zasobów" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Zaakceptuj nieprzydzielone" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Zaakceptuj, że przedmioty magazynowe nie zostały w pełni przypisane do tego zlecenia budowy" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Wymagany stan nie został w pełni przypisany" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Magazyn, z którego mają być pozyskane elementy (pozostaw puste, aby pobrać z dowolnej lokalizacji)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Przedmiot opcjonalny" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Opakowanie" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID komponentu" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "IPN komponentu" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Numer Seryjny" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Możliwość śledzenia" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Element BOM" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "W Zamówieniu" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Dostępna ilość" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Anulowano" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Zakończono" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Zamówienie zakupu" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Priorytet" @@ -1968,7 +1977,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:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Przeznaczenie" @@ -1981,13 +1990,13 @@ msgstr "Nie określono lokalizacji docelowej" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Partia" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Utworzony" @@ -2120,7 +2129,7 @@ msgstr "Nowe zlecenie budowy" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "{name.title()} Plik" msgid "Select {name} file to upload" msgstr "Wybierz plik {name} do przesłania" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Zaktualizowany" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Data ostatniej aktualizacji" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Unikalny kod projektu" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Opis projektu" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter)" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "Wybrana wartość nie jest poprawną opcją" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "Ciąg musi być unikatowy" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Brak grupy" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "Zmieniono ustawienie, które wymaga restartu serwera" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Oczekujące migracje" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "Liczba oczekujących migracji bazy danych" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Nazwa instancji serwera" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "Interwał aktualizacji waluty" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączyć)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "dni" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "Wtyczka aktualizacji waluty" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Limit rozmiaru pobierania" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "Ścisła weryfikacja adresu URL" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "Wymagaj specyfikacji schematu podczas sprawdzania poprawności adresów URL" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Wymagaj potwierdzenia" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Wymagaj wyraźnego potwierdzenia dla określonych działań." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Głębokość drzewa" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Domyślna głębokość drzewa dla widoku drzewa. Głębsze poziomy mogą być leniwe, gdy są potrzebne." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Częstotliwość sprawdzania aktualizacji" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączyć)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Automatyczna kopia zapasowa" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Włącz automatyczną kopię zapasową bazy danych i plików multimedialnych" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Interwał automatycznego tworzenia kopii zapasowych" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Określ liczbę dni między zdarzeniami automatycznej kopii zapasowej" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Interwał usuwania zadań" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Szablon" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Komponent" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Pokaż powiązane części" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Użyj cennika dostawcy" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Nadpisanie historii zakupów" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "Automatycznie wypełniaj zlecenia zakupu" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatycznie oznacz zlecenia jako zakończone po odebraniu wszystkich pozycji" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Wyszukaj zlecenia zakupu" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Wyklucz nieaktywne zlecenia zakupu" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Użytkownik" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Cena" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Sekret" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Zawartość" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "Łącze" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "Obraz" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Załącznik" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Brak pliku" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentarz" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "Klucz" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "Jest uruchomiony" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "Oczekujce zadania" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "Zaplanowane zadania" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "Zadania zakończone błędem" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "ID zadania" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "Unikalny identyfikator zadania" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "Blokada" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "Czas blokady" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "Nazwa zadania" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "Funkcja" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "Nazwa funkcji" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "Argumenty" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "Argumenty zadania" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Nazwa pliku" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "Pasujące elementy" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Komponenty zaimportowane" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Firmy" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Opis firmy" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "Opis firmy" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Strona WWW" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Numer telefonu" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Punkt kontaktowy" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Adres" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "Kod pocztowy miasto/region" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "Stan/Województwo" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "Stan lub województwo" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "Kraj" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "Notatki przewozowe kuriera" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "Notatki dla kuriera" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "Wewnętrzne notatki przewozowe" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "Notatki wysyłkowe do użytku wewnętrznego" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Komponent producenta" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Wybierz część" msgid "Manufacturer" msgstr "Producent" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Wybierz producenta" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Nazwa parametru" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Wartość" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Wartość parametru" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Jednostki" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "Dostawca" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Uwaga" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "Opakowanie części" msgid "Pack Quantity" msgstr "Ilość w opakowaniu" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Zamów wiele" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "Dostępność zaktualizowana" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Domyślna waluta używana dla tego dostawcy" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "Usuń obraz" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Klient" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "Usuń obraz" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "Usuń przypisany obraz z tej firmy" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Usuń" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "Prześlij obraz" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "Pobierz obraz" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "Usuń komponent producenta" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Komponent wewnętrzny" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Towary" @@ -5022,99 +5123,107 @@ msgstr "Nowy klient" msgid "New Company" msgstr "Nowa firma" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Umieszczony" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "Dane" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "Ważny" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "Kopie" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "Liczba kopii do wydrukowania dla każdej etykiety" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "Połączono" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Nieznany" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "Drukowanie" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "Brak mediów" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "Rozłączono" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "Drukarka etykiet" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "Bezpośrednio wydrukuj etykiety dla różnych elementów." -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "Lokalizacja drukarki" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "Cena całkowita" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "Posiada ceny" msgid "No matching purchase order found" msgstr "Nie znaleziono pasującego zlecenia zakupu" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Zamówienie" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "Zamówienie oczekujące" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "odebrane przez" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "Odebrane" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Wysłane" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Linia" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Komponent" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "Zlecenie zakupu musi być określone" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "Dostawca musi być zgodny ze zleceniem zakupu" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "Zlecenie zakupu musi być zgodne z dostawcą" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "Pozycja nie pasuje do zlecenia zakupu" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Kod kreskowy" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Zagubiono" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Zwrócone" @@ -6184,8 +6293,8 @@ msgstr "Duplikuj wybrane" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "Oczekujące przesyłki" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Akcje" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Wersja" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Słowa kluczowe" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "ID kategorii" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -6452,23 +6562,23 @@ msgstr "Minimalny stan magazynowy" msgid "Used In" msgstr "Użyte w" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "Nadchodzące zlecenie zakupu" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Kategoria" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1161 +#: part/models.py:1173 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:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 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:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Data" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Aktywne" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Wymagane" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "Poziom" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" @@ -7457,326 +7571,326 @@ msgstr "Waluta zakupu tego towaru" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "Przypisane do zamówień sprzedaży" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "Ostatni numer seryjny" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "Szukaj numeru seryjnego" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "Warianty" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -8498,8 +8616,8 @@ msgstr "Nie określono działania" msgid "No matching action found" msgstr "Nie znaleziono pasującej akcji" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Nie znaleziono wyników dla danych kodu kreskowego" @@ -8524,52 +8642,52 @@ msgstr "Kod kreskowy pasuje do istniejącego elementu" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "Brak dopasowania dla kodu kreskowego dostawcy" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "Kod kreskowy nie pasuje do istniejących pozycji magazynowych" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "Nie znaleziono pasującego zlecenia zakupu dla '{order}'" msgid "Purchase order does not match supplier" msgstr "Zlecenie zakupu nie pasuje do dostawcy" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "Nie znaleziono pozycji oczekującej dla części od dostawcy" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "Dalsze informacje wymagane do odbioru pozycji" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "Otrzymana pozycja zlecenia zakupu" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "Konfiguracja wtyczki" msgid "Plugin Configurations" msgstr "Konfiguracja wtyczek" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "Klucz" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "Klucz wtyczki" @@ -8994,7 +9108,7 @@ msgstr "Wtyczka" msgid "Method" msgstr "Metoda" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "Nie znaleziono autora" @@ -9091,43 +9205,43 @@ msgstr "Instalacja nie została potwierdzona" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "Pełne przeładowanie" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "Wykonaj pełne przeładowanie rejestru wtyczek" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "Wymuś przeładowanie" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "Wymuś przeładowanie rejestru wtyczek, nawet jeśli jest już załadowany" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "Zbierz wtyczki" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "Zbierz wtyczki i dodaj je do rejestru" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "Aktywuj wtyczkę" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "Aktywuj tę wtyczkę" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "Wynik" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Zainstalowane elementy" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Numer seryjny" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "ID lokalizacji" @@ -9459,58 +9573,58 @@ msgstr "ID lokalizacji" msgid "Location Path" msgstr "Ścieżka lokalizacji" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "ID części dostawcy" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Zainstalowane w" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "ID zlecenia zakupu" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Data ważności" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "Wybierz właściciela" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "Wyszukaj zlecenie zakupu" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "Zlecenie zakupu dla tego towaru" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "Element nadrzędny" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Termin minął" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "Elementy podrzędne" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Odrzucone" msgid "Quarantined" msgstr "Poddany kwarantannie" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Starsze śledzenie wpisów stanu magazynowego" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Utworzono element magazynowy" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Edytuj pozycję magazynową" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Przypisano numer seryjny" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Zapas policzony" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Zapas dodany ręcznie" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Zapas usunięty ręcznie" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Lokalizacja zmieniona" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Zaktualizowano stan magazynu" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Zainstalowano do montażu" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Usunięto z montażu" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Zainstalowano element komponentu" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Usunięto element komponentu" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Podziel z pozycji nadrzędnej" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Podziel element podrzędny" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Scalone przedmioty magazynowe" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Przekonwertowano na wariant" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Dane wyjściowe kolejności kompilacji utworzone" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Dane wyjściowe kolejności kompilacji ukończone" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Odrzucono wynik zlecenia produkcji" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Zużyte przez kolejność kompilacji" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Wysłane na podstawie zlecenia sprzedaży" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Otrzymane na podstawie zlecenia zakupu" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Zwrócone na podstawie zlecenia zwrotu" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Wyślij do klienta" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Zwrócony od klienta" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "Przenieś stan magazynowy" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Budowa" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Lokacje nie są ustawione" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Nowa lokalizacja" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Usuń" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Dodaj" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Tak" msgid "No" msgstr "Nie" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Użytkownicy" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Informacje osobiste" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Uprawnienia" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "Ważne daty" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Grupa" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Widok" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Zmień" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index 7d9c658a97..fd50b78b23 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: pt-PT\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Usuário não tem permissão para ver este modelo" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Unidade inválida fornecida ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Nenhum valor fornecido" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Não foi possível converter {original} para {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Quantidade fornecida inválida" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Quantidade fornecida inválida ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Detalhes do erro podem ser encontrados no painel de administrador" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Insira uma Data" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Insira uma Data" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Anotações" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Valor '{name}' não está no formato correto" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "O valor fornecido não corresponde ao padrão exigido: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "O endereço primário de e-mail não é válido." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "O domínio de e-mail providenciado não foi aprovado." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Cadastro está desativado." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Quantidade fornecida inválida" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Número serial em branco" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Número de série duplicado" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Intervalo de grupo inválido: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Intervalo do grupo {group} excede a quantidade permitida ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Sequência de grupo inválida:{group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Nenhum número de série foi encontrado" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Números de série únicos ({len(serials)}) deve corresponder a quantidade ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Remova as \"tags\" HTML deste valor" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Erro de conexão" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "O servidor respondeu com código estado inválido" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Ocorreu uma exceção" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "O servidor respondeu com valor inválido do tamanho de conteúdo" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Tamanho da imagem muito grande" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "O download da imagem excedeu o tamanho máximo" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "O servidor remoto retornou resposta vazia" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "A URL fornecida não é um arquivo de imagem válido" @@ -364,8 +364,8 @@ msgstr "Chinês (Tradicional)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Entre no aplicativo" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Metadados da Extensão" msgid "JSON metadata field, for use by external plugins" msgstr "Campo de metadados JSON, para uso por extensões externas" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Padrão formatado incorretamente" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Chave de formato desconhecida especificada" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Chave de formato obrigatória ausente" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "O campo de referência não pode ficar vazio" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "A referência deve corresponder ao padrão exigido" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "O número de referência é muito grande" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomes duplicados não podem existir sob o mesmo parental" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Escolha inválida" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Nome" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Descrição" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Descrição (opcional)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Caminho" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Notas Markdown (opcional)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Dados de código de barras" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Dados de código de barras de terceiros" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Hash de código de barras" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Hash exclusivo de dados de código de barras" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Erro de servidor" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Moeda" msgid "Select currency from available options" msgstr "Selecione a Moeda nas opções disponíveis" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Nome de usuário" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Primeiro Nome" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Sobrenome" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "Ativo" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Não tem permissões para alterar este papel do usuário." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Apenas superusuários podem criar novos usuários" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Sua conta foi criada." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Por favor, use a função de redefinir senha para acessar" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Bem-vindo(a) ao InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Arquivo de dados" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Selecione um arquivo de dados para enviar" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Tipo de arquivo não suportado" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "O arquivo é muito grande" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Nenhuma coluna encontrada no arquivo" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Nenhuma linha de dados encontrada no arquivo" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Nenhuma linha de dados fornecida" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Nenhuma coluna de dados fornecida" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta a coluna obrigatória: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Coluna duplicada: \"{col}\"" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Imagens Remota" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL do arquivo de imagem remoto" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Falha em verificar o histórico do trabalhador" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Serviço de fundo do e-mail não foi configurado" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Verificação de saúde do sistema InvenTree falhou" @@ -691,122 +691,122 @@ msgstr "Unidade física inválida" msgid "Not a valid currency code" msgstr "Não é um código de moeda válido" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Valor excedente não deve ser negativo" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Excedente não deve exceder 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Valor de excedente inválido" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Editar informações do usuário" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Definir senha" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Os campos de senha devem coincidir" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Senha incorreta fornecida" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Informação do Sistema" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Sobre o InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produção Progenitor" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Emitido por" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Consumível" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Opcional" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Montagem" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Monitorado" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Alocado" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Alocado" msgid "Available" msgstr "Disponível" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Ordem de Produção" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Ordem de Produção" msgid "Build Orders" msgstr "Ordens de Produções" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Escolha de Produção parental inválida" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Usuário ou grupo responsável deve ser especificado" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Peça da ordem de produção não pode ser alterada" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Referência do pedido de produção" msgid "Reference" msgstr "Referência" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Breve descrição da produção (opcional)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Pedido de produção para qual este serviço está alocado" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Peça" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Selecionar peça para produção" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Referência do pedido de venda" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Pedido de Venda para qual esta produção está alocada" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Local de Origem" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecione a localização para pegar do estoque para esta produção (deixe em branco para tirar a partir de qualquer local de estoque)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Local de Destino" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Selecione o local onde os itens concluídos serão armazenados" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Quantidade de Produção" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Número de itens em estoque para produzir" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Itens concluídos" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Número de itens em estoque concluídos" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Progresso da produção" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Código de Lote" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Criado em" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Data alvo final" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Data de conclusão" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "Concluído por" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Usuário que emitiu este pedido de produção" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Responsável" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Usuário ou grupo responsável para este pedido de produção" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Link Externo" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Link para URL externa" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Prioridade de Produção" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Prioridade deste pedido de produção" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Prioridade deste pedido de produção" msgid "Project Code" msgstr "Código do projeto" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Código do projeto para este pedido de produção" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "Falha ao descarregar tarefa para concluir alocações de construção" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "O Pedido de produção {build} foi concluído!" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Saída de produção já completada" -#: build/models.py:973 +#: build/models.py:974 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:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Quantidade não pode ser maior do que a quantidade de saída" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "O item de produção {serial} não passou todos os testes necessários" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "Item da linha de Produção" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Objeto de produção" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Objeto de produção" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Objeto de produção" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Quantidade necessária para o pedido de produção" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Quantidade deve ser 1 para estoque serializado" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "Item estoque selecionado não coincide com linha da LDM" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "Item estoque selecionado não coincide com linha da LDM" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Destino do Item do Estoque" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Nome da Peça" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Saída da Produção" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Saída de produção não coincide com a produção progenitora" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Peça de saída não coincide com a peça da ordem de produção" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Esta saída de produção já foi concluída" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "A saída de produção não está completamente alocada" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Entre a quantidade da saída de produção" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Quantidade inteira necessária para peças rastreáveis" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Números de Série" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Digite os números de série para saídas de produção" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Digite os números de série para saídas de produção" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Local" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "Local de estoque para a produção" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Alocar Números de Série Automaticamente" -#: build/serializers.py:331 +#: build/serializers.py:375 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:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "Números de série devem ser fornecidos para peças rastreáveis" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Local de estoque para saídas recicladas" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Descartar alocações" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar quaisquer alocações de estoque para saídas sucateadas" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Motivo para sucatear saída(s) de produção" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Situação" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Aceitar Alocação Incompleta" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "Consumir Estoque Alocado" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "Consumir qualquer estoque que já tenha sido alocado para esta produção" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Remover Saídas Incompletas" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Não permitido" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Aceitar conforme consumido por esta ordem de produção" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Desatribua antes de completar este pedido de produção" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Estoque sobrealocado" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Como deseja manejar itens de estoque extras atribuídos ao pedido de produção" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Alguns itens de estoque foram sobrealocados" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Aceitar não alocados" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta produção" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceitar que o número requerido de saídas de produção não foi concluído" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Quantidade de produção requerida não foi concluída" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Linha de produção" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Saída da Produção" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "Saída de produção deve indicar a mesma produção" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Item da linha de produção" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bin_item.part deve indicar a mesma peça do pedido de produção" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "Saída de produção deve ser definida para alocação de peças rastreadas" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Saída de produção deve ser definida para alocação de peças não rastreadas" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Local de estoque onde peças serão extraídas (deixar em branco para qualquer local)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Local não incluso" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Não incluir itens de estoque deste local" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Estoque permutável" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Itens de estoque em múltiplos locais pode ser permutável" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Substituir Estoque" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Permitir alocação de peças substitutas" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Itens opcionais" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Alocar itens LDM opcionais para o pedido de produção" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "Falha ao iniciar tarefa de auto-alocação" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "Nome do Local" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Embalagem" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID da Peça" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "IPN da Peça" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Descrição da Peça" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Número de Sério" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "Quantidade Alocada" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "Quantidade Disponível" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Rastreável" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Permitir variações" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Item LDM" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Estoque Alocado" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "No pedido" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Estoque Disponível" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Cancelado" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Completado" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Estoque obrigatório para o pedido de produção" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Pedido de produção vencido" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Pedido de produção {bo} está atrasada" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Saídas Concluídas" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Saídas Concluídas" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Pedido de Venda" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Prioridade" @@ -1968,7 +1977,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:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Destino" @@ -1981,13 +1990,13 @@ msgstr "Loca de destino não especificado" msgid "Allocated Parts" msgstr "Peças alocadas" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Lote" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Criado" @@ -2120,7 +2129,7 @@ msgstr "Novo Pedido de Produção" msgid "Build Order Details" msgstr "Detalhes do Pedido de Produção" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Saídas Incompletas" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "É uma Ligação" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "É um arquivo" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "O Utilizador não tem permissão para remover este anexo" @@ -2209,1631 +2218,1631 @@ msgstr "Arquivo {name.title()}" msgid "Select {name} file to upload" msgstr "Selecione {name} arquivo para carregar" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Atualizado" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Tempo da última atualização" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "URL do site está bloqueada por configuração" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Código único do projeto" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Descrição do projeto" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "Usuário ou grupo responsável por este projeto" -#: common/models.py:783 +#: common/models.py:785 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:787 +#: common/models.py:789 msgid "Settings value" msgstr "Valor da Configuração" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "Valor escolhido não é uma opção válida" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "Valor deve ser um valor booleano" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "Valor deve ser um número inteiro" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "A frase senha deve ser diferenciada" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Nenhum grupo" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Reinicialização necessária" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "Uma configuração que requer uma reinicialização do servidor foi alterada" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Migrações pendentes" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "Número de migrações pendentes na base de dados" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Nome da Instância do Servidor" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "Descritor de frases para a instância do servidor" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Usar nome da instância" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Usar o nome da instância na barra de título" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Restringir a exibição 'sobre'" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Mostrar 'sobre' modal apenas para superusuários" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Nome da empresa" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Nome interno da Empresa" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "URL de Base" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "URL Base da instância do servidor" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Moeda Padrão" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "Selecione a moeda base para cálculos de preços" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "Moedas suportadas" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "Lista de códigos de moeda suportados" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "Intervalo de Atualização da Moeda" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Com que frequência atualizar as taxas de câmbio (defina como zero para desativar)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "dias" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "Extensão de Atualização de Moeda" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "Extensão de Atualização de Moeda a utilizar" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Baixar do URL" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Permitir baixar imagens remotas e arquivos de URLs externos" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Limite de tamanho para baixar" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Maior tamanho de imagem remota baixada permitida" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "Usuário-agente utilizado para baixar da URL" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permitir a substituição de imagens e arquivos usados baixados por usuário-agente (deixar em branco por padrão)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "Validação rigorosa de URL" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "Exigir especificação de esquema ao validar URLs" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Exigir confirmação" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Exigir confirmação explícita do usuário para uma certa ação." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Profundidade da árvore" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profundidade padrão de visualização da árvore. Níveis mais profundos podem ser carregados gradualmente conforme necessário." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Atualizar Intervalo de Verificação" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Frequência para verificar atualizações (defina como zero para desativar)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Cópia de Segurança Automática" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Ativar cópia de segurança automática do banco de dados e arquivos de mídia" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Intervalo de Backup Automático" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Especificar o número de dia entre as cópias de segurança" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Intervalo para Excluir da Tarefa" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "Os resultados da tarefa no plano de fundo serão excluídos após um número especificado de dias" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "Intervalo para Excluir do Registro de Erro" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "Registros de erros serão excluídos após um número especificado de dias" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "Intervalo para Excluir de Notificação" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Notificações de usuários será excluído após um número especificado de dias" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Suporte aos códigos de barras" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "Ativar suporte a leitor de código de barras na interface web" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Atraso na entrada de código de barras" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Tempo de atraso de processamento de entrada de barras" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Suporte a código de barras via Câmera" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Permitir escanear código de barras por câmera pelo navegador" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "Revisões de peças" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Habilitar campo de revisão para a Peça" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "Permitir a exclusão da Montagem" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "Permitir a remoção de peças usadas em uma montagem" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Padrão de expressão regular adequado para Peça IPN" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Permitir Duplicação IPN" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Permitir que várias peças compartilhem o mesmo IPN" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Permitir Edição IPN" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Permitir trocar o valor do IPN enquanto se edita a peça" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Copiar dados da LDM da Peça" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Copiar dados da LDM por padrão quando duplicar a peça" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Copiar Dados de Parâmetro da Peça" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Copiar dados de parâmetros por padrão quando duplicar uma peça" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Copiar Dados Teste da Peça" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Copiar dados de teste por padrão quando duplicar a peça" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Copiar Parâmetros dos Modelos de Categoria" -#: common/models.py:1478 +#: common/models.py:1480 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:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Modelo" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Peças são modelos por padrão" -#: common/models.py:1490 +#: common/models.py:1492 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:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Componente" -#: common/models.py:1496 +#: common/models.py:1498 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:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Comprável" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Vendível" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Peças vão vendíveis por padrão" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Virtual" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Peças são virtuais por padrão" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Mostrar Importações em Visualizações" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Exibir o assistente de importação em algumas visualizações de partes" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Mostra peças relacionadas" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Mostrar peças relacionadas para uma peça" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Dados Iniciais de Estoque" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir Criação de estoque inicial quando adicional uma nova peça" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Dados Iniciais de Fornecedor" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permitir criação de dados iniciais de fornecedor quando adicionar uma nova peça" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Formato de Exibição do Nome da Peça" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Formato para exibir o nome da peça" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Ícone de Categoria de Peça Padrão" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Forçar Unidades de Parâmetro" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Se as unidades são fornecidas, os valores do parâmetro devem corresponder às unidades especificadas" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de Casas Decimais do Preço" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mínimo número de casas decimais a exibir quando renderizar dados de preços" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "Máximo Casas Decimais de Preço" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Usar Preços do Fornecedor" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Sobrescrever histórico de compra" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Usar Preços do Item em Estoque" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar preço inserido manualmente no estoque para cálculos de valores" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Idade do preço do Item em Estoque" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Não incluir itens em estoque mais velhos que este número de dias no cálculo de preços" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Usar Preço Variável" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir preços variáveis nos cálculos de valores gerais" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Apenas Ativar Variáveis" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "Intervalo de Reconstrução de Preços" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Número de dias antes da atualização automática dos preços das peças" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Preços Internos" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Habilitar preços internos para peças" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Sobrepor Valor Interno" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "Se disponível, preços internos sobrepõe variação de cálculos de preço" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Ativar impressão de etiquetas" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Ativar impressão de etiqueta pela interface da internet" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "DPI da Imagem na Etiqueta" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolução de DPI quando gerar arquivo de imagens para fornecer à extensão de impressão de etiquetas" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Habilitar Relatórios" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Ativar geração de relatórios" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Modo de depuração" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Gerar relatórios em modo de depuração (saída HTML)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "Relatório de erros" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "Registro de erros que ocorrem ao gerar relatórios" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Tamanho da página" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Tamanho padrão da página PDF para relatórios" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Ativar Relatórios Teste" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Ativar geração de relatórios de teste" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Anexar Relatórios de Teste" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Quando imprimir um Relatório de Teste, anexar uma cópia do mesmo ao item de estoque associado" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Seriais Únicos Globais" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "Números de série para itens de estoque devem ser globalmente únicos" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Preenchimento automático de Números Seriais" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Preencher números de série automaticamente no formulário" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Excluir Estoque Esgotado" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "Determina o comportamento padrão quando um item de estoque é esgotado" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Modelo de Código de Lote" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Modelo para gerar códigos de lote padrão para itens de estoque" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Validade do Estoque" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Ativar função de validade de estoque" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Vender estoque expirado" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Permitir venda de estoque expirado" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Tempo de Estoque Inativo" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de dias em que os itens em estoque são considerados obsoleto antes de vencer" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Produzir Estoque Vencido" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Permitir produção com estoque vencido" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Controle de propriedade do estoque" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Ativar controle de propriedade sobre locais e itens de estoque" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Ícone padrão do local de estoque" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "Mostrar Itens de Estoque Instalados" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "Exibir itens de estoque instalados nas tabelas de estoque" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "Verificar BOM ao instalar itens" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Itens de estoque instalados devem existir na BOM para a peça parente" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "Permitir Transferência Fora do Estoque" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Permitir que os itens que não estão em estoque sejam transferidos entre locais de estoque" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Produção" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "Requer Proprietário Responsável" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "Um proprietário responsável deve ser atribuído a cada ordem" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "Bloquear até os Testes serem Aprovados" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Impedir que as saídas da produção sejam concluídas até que todos os testes sejam aprovados" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "Ativar Pedidos de Devolução" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Devolução" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "Editar os Pedidos de Devolução Concluídos" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir a edição de pedidos de devolução após serem enviados ou concluídos" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Venda" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "Envio Padrão de Pedidos de Venda" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "Editar os Pedidos de Vendas concluídos" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir a edição de pedidos de vendas após serem enviados ou concluídos" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Compras" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Editar Pedidos de Compra Concluídos" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Permitir a edição de pedidos de compras após serem enviados ou concluídos" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "Autocompletar Pedidos de Compra" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Marcar automaticamente os pedidos de compra como concluídos quando todos os itens de linha forem recebidos" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Habitar esquecer senha" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Habilitar a função \"Esqueci minha senha\" nas páginas de acesso" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Habilitar cadastro" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Ativar auto-registro para usuários na página de entrada" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "Ativar SSO" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "Ativar SSO na página de acesso" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "Ativar registro SSO" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Ativar auto-registro por SSO para usuários na página de entrada" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Email obrigatório" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "Exigir do usuário o e-mail no cadastro" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "Auto-preencher usuários SSO" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Preencher automaticamente os detalhes do usuário a partir de dados da conta SSO" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "Enviar email duplo" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "No registro pedir aos usuários duas vezes pelo email" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Senha duas vezes" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "No registro pedir aos usuários duas vezes pela senha" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Domínios permitidos" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Grupo no cadastro" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Forçar AMF" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Os usuários devem usar uma segurança multifator." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Checar extensões no início" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Checar que todas as extensões instaladas no início — ativar em ambientes de contêineres" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "Verificar por atualizações de plugin" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "Habilitar verificações periódicas de atualizações para plugins instalados" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "Ativar integração URL" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "Ativar extensão para adicionar rotas URL" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "Ativar integração de navegação" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "Ativar extensões para integrar à navegação" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "Ativa integração com aplicativo" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "Ativar extensões para adicionar aplicativos" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "Ativar integração do calendário" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Ativar extensões para executar tarefas agendadas" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "Ativar integração de eventos" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "Ativar extensões para responder a eventos internos" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "Habilitar códigos de projeto" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "Ativar códigos de projeto para rastrear projetos" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "Funcionalidade de Balanço do Inventário" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Ativar funcionalidade de balanço para gravar níveis de estoque e calcular seu valor" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "Excluir Locais Externos" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Excluir itens de estoque em locais externos dos cálculos do estoque" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "Período de Balanço Automático" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Número de dias entre gravação do balanço de estoque (coloque zero para desativar)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "Intervalo para Excluir o Relatório" -#: common/models.py:2143 +#: common/models.py:2145 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:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "Mostrar nomes completos dos usuários" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "Mostrar Nomes Completos em vez de Nomes de Usuário" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 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:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "Ocultar peças inativas" -#: common/models.py:2214 +#: common/models.py:2216 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:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Mostrar peças subscritas" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Mostrar peças subscritas na tela inicial" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Mostrar categorias subscritas" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorias de peças subscritas na tela inicial" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Mostrar peças mais recentes" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Mostrar as peças mais recentes na página inicial" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar LDMs que aguardam validação na página inicial" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Mostrar alterações recentes de estoque" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar itens de estoque alterados recentemente na página inicial" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Mostrar estoque baixo" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Mostrar itens de baixo estoque na página inicial" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Mostrar estoque esgotado" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "Mostrar itens sem estoque na página inicial" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Mostrar estoque necessário" -#: common/models.py:2263 +#: common/models.py:2265 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:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Mostrar estoque expirado" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "Mostrar expirados itens em estoque na tela inicial" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Mostrar estoque inativo" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "Mostrar estoque inativo na tela inicial" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Mostrar produções pendentes" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Mostrar produções pendentes na tela inicial" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Mostrar produções atrasadas" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "Mostrar produções atrasadas na tela inicial" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Mostrar pedidos de compra pendentes" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Mostrar Pedidos de Compra atrasados" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Mostrar pedidos de vendas pendentes" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Mostrar Pedidos de Venda atrasados" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "Mostrar remessas de OV pendentes" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "Mostrar envios OV pendentes na tela inicial" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Mostrar notícias" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Mostrar notícias na tela inicial" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "Mostrar etiqueta em linha" -#: common/models.py:2330 +#: common/models.py:2332 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:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Impressora de etiquetas padrão" -#: common/models.py:2338 +#: common/models.py:2340 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:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Mostrar relatório em linha" -#: common/models.py:2346 +#: common/models.py:2348 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:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Procurar Peças" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "Mostrar peças na janela de visualização de pesquisa" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Buscar Peças do Fornecedor" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Buscar peças do fabricante" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Ocultar peças inativas" -#: common/models.py:2371 +#: common/models.py:2373 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:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Pesquisar Categorias" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Pesquisar Estoque" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Ocultar itens do estoque indisponíveis" -#: common/models.py:2390 +#: common/models.py:2392 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:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Procurar Locais" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Pesquisar empresas" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "Mostrar empresas na janela de visualização de pesquisa" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Procurar Pedidos de Produção" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Mostrar Pedido de Compras" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Não incluir Pedidos de Compras Inativos" -#: common/models.py:2422 +#: common/models.py:2424 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:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Procurar Pedidos de Vendas" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "Não Incluir Pedidos de Compras Inativas" -#: common/models.py:2436 +#: common/models.py:2438 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:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Procurar Pedidos de Devolução" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "Não Incluir Pedidos de Devolução Inativas" -#: common/models.py:2450 +#: common/models.py:2452 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:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "Mostrar Resultados Anteriores" -#: common/models.py:2458 +#: common/models.py:2460 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:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Pesquisa de Regex" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "Permitir expressôes comuns nas conultas de pesquisas" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "Busca de Palavras Inteira" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "Pesquisa retorna que palavra inteira coincide" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Mostrar Quantidade nos Formulários" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "Tecla Esc Fecha Formulários" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "Usar a tecla Esc para fechar fomulários modais" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Fixar Navbar" -#: common/models.py:2489 +#: common/models.py:2491 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:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Formato da data" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Agendamento de peças" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "Mostrar informações de agendamento de peças" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/models.py:2516 +#: common/models.py:2518 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:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "Comprimento da Tabela de Frases" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "Receber relatório de erros" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "Receber notificações para erros do sistema" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "Últimas máquinas de impressão utilizadas" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "Salvar as últimas máquinas de impressão usadas para um usuário" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Usuario" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Preço" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Segredo" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "Servidor" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Corpo" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Título" msgid "Link" msgstr "Ligação" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumo" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Lida" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "Esta notícia do item foi lida?" msgid "Image" msgstr "Imagem" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Arquivo de imagem" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "Nome da unidade deve ser um identificador válido" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "Nome da unidade" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "Símbolo de unidade opcional" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definição" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "Definição de unidade" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Anexo" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Arquivo ausente" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Link externo não encontrado" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Comentario" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "Chave" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Novo {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 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:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "{verbose_name} cancelado" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "Um pedido atribuído a você foi cancelado" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "Itens Recebidos" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "Os itens de um pedido de compra foram recebidos" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "Os itens de um pedido de devolução foram recebidos" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "Erro criado pela extensão" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "Executando" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "Tarefas Pendentes" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "Tarefas Agendadas" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "Tarefas com Falhas" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "ID da Tarefa" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "ID Único da Tarefa" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "Bloquear" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "Tempo de bloqueio" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "Nome da tarefa" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "Função" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "Nome da função" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "Argumentos" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "Argumentos da tarefa" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "Argumentos de Palavra-chave" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "Argumentos Palavra-chave da Tarefa" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Nome do arquivo" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "Coincidir campos" msgid "Match Items" msgstr "Coincidir Itens" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "Os campos não correspondem" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Peças importadas" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Empresa" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Empresas" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Descrição da empresa" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "Descrição da empresa" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Página Web" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "URL do Site da empresa" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Número de telefone" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Número de telefone do contato" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Endereço de e-mail do contato" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Contato" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Ponto de contato" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Link para informações externas da empresa" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Você vende itens para esta empresa?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Você compra itens desta empresa?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Esta empresa fabrica peças?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Moeda padrão utilizada para esta empresa" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Endereço" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "Endereços" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "Selecione a Empresa" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "Título do endereço" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "Título descrevendo a entrada de endereço" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "Endereço Principal" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "Definir como endereço principal" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Linha 1" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "Linha de endereço 1" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Linha 2" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "Linha de endereço 2" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Código Postal" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "Cidade/Região" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "Código Postal Cidade / Região" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "Estado/Provincia" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "Estado ou Província" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "País" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "País do endereço" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "Notas de envio da transportadora" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "Notas para o envio da transportadora" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "Notas de envio interno" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "Notas de envio para uso interno" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "Link para as informações do endereço (externo)" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Peça do Fabricante" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Peça base" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Selecionar peça" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Selecionar peça" msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Selecionar fabricante" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Selecionar fabricante" msgid "MPN" msgstr "NPF" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "Descrição da peça do fabricante" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Nome do parâmetro" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Valor" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Valor do Parâmetro" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Unidades" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Unidades do parâmetro" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Fornecedor da Peça" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "Unidades de pacote devem ser compatíveis com as unidades de peça base" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "Unidades de pacote deve ser maior do que zero" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base msgid "Supplier" msgstr "Fornecedor" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Selecionar peça do fabricante" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Anotação" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "preço base" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Embalagem de peças" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "Embalagem de peças" msgid "Pack Quantity" msgstr "Quantidade de embalagens" -#: company/models.py:860 +#: company/models.py:857 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:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "múltiplo" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Pedir múltiplos" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "Quantidade disponível do fornecedor" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "Disponibilidade Atualizada" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "Data da última atualização da disponibilidade dos dados" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Moeda padrão utilizada para este fornecedor" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Baixar imagem do URL" msgid "Delete image" msgstr "Excluir imagem" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Cliente" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Telefone" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "Remover imagem" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "Remover imagem associada desta empresa" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Remover" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "Enviar Imagem" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "Baixar Imagem" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "Excluir peça do fabricante" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Peça Interna" @@ -4838,7 +4939,7 @@ msgstr "Nenhuma informação do fabricante disponível" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "Excluir Fornecedor da Peça" msgid "No supplier information available" msgstr "Nenhuma informação do fornecedor está disponível" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "Atualizar Disponibilidade de Peças" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Itens de Estoque" @@ -5022,99 +5123,107 @@ msgstr "Novo Cliente" msgid "New Company" msgstr "Nova Empresa" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Colocado" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "Colunas" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "Dados" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "Válido" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Desconhecido" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "Preço Total" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Pedido" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "Devolver pedido" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Preço total deste pedido" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Moeda do pedido" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "O contato não corresponde à empresa selecionada" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "Descrição do pedido (opcional)" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "Selecione o código do projeto para este pedido" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Link para página externa" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data esperada para entrega do pedido. O Pedido estará atrasado após esta data." -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Criado por" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Usuário ou grupo responsável para este pedido" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "Ponto de contato para este pedido" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "Endereço da empresa para este pedido" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "Situação do pedido de compra" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Empresa da qual os itens estão sendo encomendados" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "Referencia do fornecedor" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "Código de referência do pedido fornecedor" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "recebido por" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Data de emissão" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Dia que o pedido foi feito" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "enviado por" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:1088 +#: order/models.py:1081 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:1093 +#: order/models.py:1086 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:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:1393 +#: order/models.py:1386 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:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "Descrição item de linha (opcional)" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "Contexto" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "excluído" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "Fornecedor da Peça" msgid "Received" msgstr "Recebido" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "Onde o Comprador quer que este item seja armazenado?" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 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:1642 +#: order/models.py:1635 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:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Preço de Venda" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Enviado" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Data de Entrega" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "Data da entrega do envio" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Remessa" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:1973 +#: order/models.py:1966 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:1976 +#: order/models.py:1969 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:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Linha" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "Referência de Pedidos de Devolução" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "Empresa da qual os itens estão sendo retornados" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "Estado do pedido de retorno" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "Somente itens da série podem ser devolvidos" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "Selecione o item a ser devolvido pelo cliente" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "Data de Recebimento" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "Data que o pedido a ser devolvido foi recebido" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "Despesa/gastos" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "Gastos com esta linha de itens" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "Gastos para reparar e/ou devolver esta linha de itens" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "Nome do Fornecedor" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "Pedido não pode ser cancelado" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "O pedido tem itens da linha incompletos" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "O pedido não está aberto" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Moeda de preço de compra" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "Numero interno do produto" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "A peça do fornecedor deve ser especificada" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "O pedido de compra deve ser especificado" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "O fornecedor deve corresponder o pedido de compra" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "Pedido de compra deve corresponder ao fornecedor" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "Itens de linha" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "Digite o código do lote para itens de estoque recebidos" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Digite o número de série para itens de estoque recebidos" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "Código de barras lido" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "Código de barras já em uso" @@ -5910,7 +6019,7 @@ msgstr "Código de barras já em uso" msgid "An integer quantity must be provided for trackable parts" msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" @@ -5922,59 +6031,59 @@ msgstr "Loca de destino deve ser especificado" msgid "Supplied barcode values must be unique" msgstr "Código de barras fornecido deve ser único" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "Moeda de preço de venda" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "Nenhum detalhe da remessa fornecido" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "Item de linha não está associado a este pedido" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "Quantidade deve ser positiva" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "Nenhuma correspondência encontrada para os seguintes números de série" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "Os seguintes números de série já estão alocados" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "Devolver item do pedido" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "Item do pedido não bate com o pedido de devolução" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "Item do pedido já foi recebido" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "Itens só podem ser recebidos de pedidos em processamento" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "Tipo de moeda para o item do pedido" @@ -5982,7 +6091,7 @@ msgstr "Tipo de moeda para o item do pedido" msgid "Lost" msgstr "Perdido" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Retornado" @@ -6184,8 +6293,8 @@ msgstr "Duplicar seleção" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "Envios Pendentes" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Ações" @@ -6401,21 +6510,22 @@ msgstr "Atualizado {part} unid.-preço para {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Revisão" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Palavras chave" @@ -6427,7 +6537,7 @@ msgstr "Imagem da Peça" msgid "Category ID" msgstr "ID da Categoria" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "Nome da Categoria" @@ -6440,11 +6550,11 @@ msgstr "ID Local Padrão" msgid "Default Supplier ID" msgstr "ID de Fornecedor Padrão" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -6452,23 +6562,23 @@ msgstr "Estoque Mínimo" msgid "Used In" msgstr "Usado em" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Produzindo" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Custo Máximo" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "ID Paternal" @@ -6481,8 +6591,8 @@ msgstr "Nome Paternal" msgid "Category Path" msgstr "Caminho da Categoria" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "IPN Paternal" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Preço Mínimo" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "Pedido de compra recebido" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "Pedidos de Venda Feitos" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "Estoque produzido pelo Pedido de Produção" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "Estoque obrigatório para Pedido de Produção" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "Esta opção deve ser selecionada" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Categoria" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Local Padrão" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Estoque Total" @@ -6641,421 +6755,421 @@ msgstr "Estoque Total" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Categorias de Peça" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "Estrutural" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Peças não podem ser diretamente atribuídas a uma categoria estrutural, mas podem ser atribuídas a categorias filhas." -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Palavras-chave Padrão" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "Palavras-chave padrão para peças nesta categoria" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "Ícone" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "Ícone (opcional)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "Escolha inválida para peça parental" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Peça '{self}' não pode ser utilizada na BOM para '{parent}' (recursiva)" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Peça '{parent}' é usada na BOM para '{self}' (recursiva)" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN deve corresponder ao padrão regex {pattern}" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 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:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "Não é permitido duplicar IPN em configurações de partes" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 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:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "Fornecedor padrão da peça" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:1130 +#: part/models.py:1142 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:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:1155 +#: part/models.py:1167 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:1161 +#: part/models.py:1173 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:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 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:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "Proprietário responsável por esta peça" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "Sobrepor o custo mínimo" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "Sobrepor o custo máximo" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:3277 +#: part/models.py:3289 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:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "Estoque total disponível no momento do balanço" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Data" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Reportar" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "Escolhas devem ser únicas" -#: part/models.py:3575 +#: part/models.py:3587 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:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Habilitado" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Requerido" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3635 +#: part/models.py:3647 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:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3642 +#: part/models.py:3654 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:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Escolhas" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "Parâmetros da caixa de seleção não podem ter unidades" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "Unidades físicas para este parâmetro" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Caixa de seleção" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "Este parâmetro é uma caixa de seleção?" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "Escolha inválida para valor do parâmetro" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "Nível" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:4266 +#: part/models.py:4279 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:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Validado" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "O item da LDM foi validado" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:4308 +#: part/models.py:4321 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:4314 +#: part/models.py:4327 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:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4572 +#: part/models.py:4582 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:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4637 +#: part/models.py:4647 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:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" @@ -7457,326 +7571,326 @@ msgstr "Moeda de compra deste item de estoque" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "Nenhuma parte selecionada" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "Selecionar categoria" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Copiar Parâmetros" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado." -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "A peça do fabricante que corresponde a essa MPN já existe" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "Imagem Existente" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "Nome de arquivo de uma imagem de peça existente" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "A imagem não existe" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "Excluir Estoque externo" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "Excluir itens de estoque em locais externos" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "Gerar relatório" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "Atualizar Peças" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "Atualizar peças especificadas com dados de estoque calculados" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "Função de Balanço de Estoque não está ativada" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "Sobrepor valor calculado para preço mínimo" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "Moeda do preço mínimo" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "Sobrepor valor calculado para preço máximo" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "Moeda do preço máximo" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Não foi possível converter das moedas fornecidas para {default_currency}" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "Preço mínimo não pode ser maior que o preço máximo" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "Preço máximo não pode ser menor que o preço mínimo" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Pode Produzir" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluir itens LDM que são herdados de peças modelo" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "Limpar LDM Existente" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "Apagar itens LDM existentes antes de carregar" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "Nenhuma coluna de peça especificada" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "Múltiplas peças correspondentes encontradas" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "Nenhuma peça correspondente encontrada" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "Peça não está designada como componente" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "Quantidade não foi fornecida" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "Quantidade Inválida" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "Pelo menos um item LDM é necessário" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" 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:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "Balanço" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "Peça é virtual (não é algo físico)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "Mostrar Detalhes de Peça" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "Alocado para Pedidos de Construção" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "Alocado para Pedidos de Venda" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "Nível mínimo de estoque" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "Faixa de Preço" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "Último Número de Série" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "Procurar por número serial" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "QR Code da Peça" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "Vincular Código de Barras à Peça" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "Calcular" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "Remover imagem associada a esta peça" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "Nenhuma imagem correspondente encontrada" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "Esconder Detalhes da Peça" @@ -8288,7 +8406,7 @@ msgstr "Variantes" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Estoque" @@ -8330,11 +8448,11 @@ msgstr "Sobrepor Preço da Peça" msgid "Edit" msgstr "Editar" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "Última atualização" @@ -8498,8 +8616,8 @@ msgstr "Nenhuma ação especificada" msgid "No matching action found" msgstr "Nenhuma ação correspondente encontrada" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Nenhum resultado encontrado para os dados do código de barras" @@ -8524,52 +8642,52 @@ msgstr "Código de barras corresponde ao item existente" msgid "No matching part data found" msgstr "Nenhuma informação de peça correspondente encontrada" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "Nenhuma peça de fornecedor correspondente encontrada" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "Múltiplas peças de fornecedores correspondentes encontradas" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "Peça de fornecedor correspondente" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "Item do pedido já foi recebido" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "Nenhuma correspondência para o código de barras do fornecedor" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "Diversos itens de linha correspondentes encontrados" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "Nenhum item de linha correspondente encontrado" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "Código de barras não corresponde a item de estoque válido" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "Item do estoque não corresponde ao item de linha" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Estoque insuficiente disponível" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "Item de estoque atribuído para pedido de venda" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "Não há informação suficiente" @@ -8591,15 +8709,15 @@ msgstr "Nenhum pedido de compra correspondente a '{order}' encontrado" msgid "Purchase order does not match supplier" msgstr "Pedido de compra não corresponde ao fornecedor" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "Falha ao encontrar item de linha pendente para a parte do fornecedor" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "Mais informações necessárias para receber o item de linha" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "Item de linha do pedido de compra recebido" @@ -8756,7 +8874,7 @@ msgstr "Link do gancho de entrada do Slack" msgid "URL that is used to send messages to a slack channel" msgstr "URL usada para enviar mensagens para um canal do Slack" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "Abrir link" @@ -8894,7 +9012,7 @@ msgstr "Fornece suporte para escanear códigos de barras TME" msgid "The Supplier which acts as 'TME'" msgstr "O fornecedor que atua como 'TME'" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "Plugin instalado com sucesso" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Plugin instalado na {path}" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "Configuração de Extensão" msgid "Plugin Configurations" msgstr "Configuração de Extensões" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "Chave" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "Chave da extensão" @@ -8994,7 +9108,7 @@ msgstr "Extensões" msgid "Method" msgstr "Método" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "Nenhum autor encontrado" @@ -9091,43 +9205,43 @@ msgstr "Instalação não confirmada" msgid "Either packagename of URL must be provided" msgstr "Qualquer nome do pacote URL deve ser fornecido" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "Recarregamento completo" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "Realize um recarregamento completo do registro de plugin" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "Forçar recarregamento" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "Forçar um recarregamento do registro do plugin, mesmo que já esteja carregado" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "Coletar plugins" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "Colete plugins e adicione-os ao registro" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "Ativar Extensão" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "Ativar esta extensão" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "Progresso" @@ -9403,7 +9517,7 @@ msgstr "Resultados do teste" msgid "Test" msgstr "Teste" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "Resultado" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "Nenhum resultado" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Itens instalados" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Série" @@ -9450,7 +9564,7 @@ msgstr "Tag part_image necessita de uma instância de Peça" msgid "company_image tag requires a Company instance" msgstr "Tag company_image necessita de uma instância de Empresa" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "ID do local" @@ -9459,58 +9573,58 @@ msgstr "ID do local" msgid "Location Path" msgstr "Caminho do local" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "ID do item estoque" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "Código da situação" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "Número da Peça do Fornecedor" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "ID do Fornecedor" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Instalado em" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "ID da Produção" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "ID do pedido de venda" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "ID do pedido de compra" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Revisão Necessária" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Excluir quando esgotado" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Data de validade" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "Localização externa" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "Árvore de Peças" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "Data de validade antes" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "Data de validade depois" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Inativo" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "A peça do fornecedor informado não existe" -#: stock/api.py:974 +#: stock/api.py:973 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:1005 +#: stock/api.py:998 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" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "Tipo de Local de estoque" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "Tipos de Locais de estoque" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Ícone padrão para todos os locais que não tem um ícone (opcional)" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Localização do estoque" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Locais de estoque" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Responsavel" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "Selecionar Responsável" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "Externo" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "Esta é uma localização de estoque externo" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "Tipo de localização" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "Tipo de Local de Estoque para esta locação" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Você não pode tornar este local do estoque estrutural, pois alguns itens de estoque já estão localizados nele!" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "Item de estoque não pode ser criado para peças virtuais" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Tipo de peça('{self.supplier_part.part}') deve ser {self.part}" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "A quantidade deve ser 1 para um item com número de série" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Número de série não pode ser definido se quantidade maior que 1" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "O item não pode pertencer a si mesmo" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "Item deve ter uma referência de produção se is_building=True" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "Referência de produção não aponta ao mesmo objeto da peça" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "Item de Estoque Parental" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "Peça base" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "Selecione uma peça do fornecedor correspondente para este item de estoque" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "Onde está localizado este item de estoque?" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "Embalagem deste item de estoque está armazenado em" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "Este item está instalado em outro item?" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "Número de série para este item" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "Código do lote para este item de estoque" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "Quantidade de Estoque" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "Produção de Origem" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "Produção para este item de estoque" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Consumido por" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "Pedido de produção que consumiu este item de estoque" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "Pedido de compra Fonte" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "Pedido de Compra para este item de estoque" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "Destino do Pedido de Venda" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Data de validade para o item de estoque. Estoque será considerado expirado após este dia" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "Excluir quando esgotado" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "Excluir este item de estoque quando o estoque for esgotado" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "Preço de compra unitário único no momento da compra" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "Convertido para peça" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "Peça não está definida como rastreável" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "Quantidade deve ser inteira" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Quantidade não deve exceder a quantidade em estoque ({self.quantity})" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "Números de série devem ser uma lista de números inteiros" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "A quantidade não corresponde aos números de série" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "Números de série já existem" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "Item em estoque foi reservado para um pedido" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "Item em estoque está instalado em outro item" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "item em estoque contem outro(s) items" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "Item em estoque foi reservado para outro cliente" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "Item no estoque está em produção no momento" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "Itens de série não podem ser mesclados" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "Item de estoque duplicado" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "Itens de estoque devem se referir à mesma peça" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "Itens de estoque devem se referir à mesma peça do fornecedor" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "Códigos de estado do estoque devem corresponder" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "Item do estoque não pode ser realocado se não houver estoque da mesma" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "Observações de entrada" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "Deve-se fornecer o valor desse teste" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "O anexo deve ser enviado para este teste" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "Resultado do teste" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "Valor da saída do teste" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "Anexo do resultado do teste" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "Notas do teste" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "Número de série é muito grande" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "Item Primário" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Usar tamanho do pacote ao adicionar: a quantidade definida é o número de pacotes" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Expirado" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "Itens Filhos" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "Preço de compra para este item de estoque, por unidade ou pacote" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "Insira o número de itens de estoque para serializar" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({q})" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "Inserir número de série para novos itens" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "Local de destino do estoque" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "Campo opcional de notas" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "Números de série não podem ser atribuídos a esta peça" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "Selecione o item de estoque para instalar" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "Quantidade a Instalar" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "Insira a quantidade de itens a instalar" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "Adicionar nota de transação (opcional)" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "A quantidade para instalar deve ser pelo menos 1" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "Item de estoque indisponível" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "Peça selecionada não está na Lista de Materiais" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "Quantidade a instalar não deve exceder a quantidade disponível" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "Local de destino para o item desinstalado" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "Selecione peça para converter o item de estoque em" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "Peça selecionada não é uma opção válida para conversão" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Não é possível converter o item de estoque com a Peça de Fornecedor atribuída" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "Local de destino para item retornado" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "Selecionar itens de estoque para mudar estados" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "Nenhum item de estoque selecionado" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sub-locais" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "Parte deve ser comercializável" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "Item é alocado para um pedido de venda" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "Item está alocado a um pedido de produção" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "Cliente para atribuir itens de estoque" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "A empresa selecionada não é um cliente" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "Nodas atribuídas a estoque" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "Uma lista de item de estoque deve ser providenciada" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "Notas de fusão de estoque" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "Permitir fornecedores divergentes" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir a fusão de itens de estoque de fornecedores diferentes" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "Permitir estado incompatível" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir a fusão de itens de estoque com estado diferentes" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "Ao menos dois itens de estoque devem ser providenciados" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "Valor da chave primária do Item Estoque" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "Código de estado do item estoque" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "Notas da transação de estoque" @@ -10175,107 +10289,107 @@ msgstr "Rejeitado" msgid "Quarantined" msgstr "Em quarentena" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Entrada de rastreamento de estoque antiga" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Item de estoque criado" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Item de estoque editado" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Número de série atribuído" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Estoque contado" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Estoque adicionado manualmente" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Estoque removido manualmente" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Local alterado" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Estoque atualizado" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Instalado na montagem" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Removido da montagem" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Instalado componente do Item" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Removido componente do Item" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Separado do Item Paternal" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Separar o Item filho" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Itens de estoque mesclados" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Convertido para variável" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Criação dos pedidos de produção criado" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Criação do pedido de produção completado" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Saída do pedido de produção rejeitada" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Usado no pedido de produção" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Enviado contra o Pedido de Venda" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Recebido referente ao Pedido de Compra" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Devolvido contra Pedido de Retorno" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Enviado ao cliente" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Devolvido pelo cliente" @@ -10316,7 +10430,7 @@ msgstr "Notas de Item Estoque" msgid "Installed Stock Items" msgstr "Itens de Estoque Instalados" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "Instalar Item de Estoque" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "Transferir estoque" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Disponibilizar para o cliente" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "Excluir item de estoque" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Produção" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "Navegar para o próximo número de série" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Nenhum local definido" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "Nenhum balanço feito" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "item de estoque" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Novo local" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "local de estoque" @@ -11109,7 +11223,7 @@ msgstr "Taxa" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Excluir" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "Nenhum código de projetos encontrado" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "grupo" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "As peças a seguir estão abaixo do estoque requerido" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Quantidade Requerida" @@ -12156,7 +12270,7 @@ msgstr "Carregar BOM para a submontagem" msgid "Substitutes Available" msgstr "Substitutos Disponíveis" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "Estoque de variantes permitido" @@ -12176,30 +12290,30 @@ msgstr "Preços da BOM estão incompletos" msgid "No pricing available" msgstr "Nenhum preço disponível" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "Nenhum Estoque Disponível" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "Incluir estoque de variantes e substitutos" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "Incluir estoque de variantes" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "Incluir estoque de substitutos" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "Itens consumíveis" @@ -12231,7 +12345,7 @@ msgstr "Ver BOM" msgid "No BOM items found" msgstr "Nenhum item da BOM encontrado" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "Peça Requerida" @@ -12243,396 +12357,396 @@ msgstr "Herdado da BOM paternal" msgid "Edit Build Order" msgstr "Editar Pedido de Produção" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "Criar Pedido de Produção" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "Cancelar Pedido de Produção" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "Tem certeza que deseja cancelar essa produção?" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "Itens de estoque foram alocados para este pedido de produção" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "Há saídas incompletas restantes para este pedido de produção" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "Pedido de produção está pronto para ser concluído" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "Este pedido de produção não pode ser concluído pois há saídas incompletas" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "Pedido de Produção está incompleto" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "Completar Pedido de Produção" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "Próximo número de série disponível" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "Último número de série" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "A Lista de Materiais (BOM) contém peças rastreáveis" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "Saída de produção deve ser gerada individualmente" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "Peças rastreáveis podem ter números de séries especificados" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Digite números de série para gerar várias saídas de produção simples" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "Criar Saída de Produção" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "Alocar itens de estoque para a saída de produção" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "Desalocar estoque da saída de produção" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "Concluir saída de produção" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "Sucatear saída de produção" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "Excluir saída de produção" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "Tem certeza que deseja desalocar os itens de estoque selecionados desta produção?" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "Desalocar Items de Estoque" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "Selecionar Saída de Produção" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "Ao menos uma saída de produção deve ser selecionada" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "Saídas de produção selecionadas serão marcadas como completas" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "Saída" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "Concluir Saídas de Produção" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "Saídas de produção selecionadas serão marcadas como sucatas" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "Saídas sucateadas são marcadas como rejeitada" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "Itens de estoque alocados não estarão mais disponíveis" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "O estado de conclusão do pedido de produção não será ajustado" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "Sucatear Saídas de Produção" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "Saídas de produção selecionadas serão apagadas" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "Dados da saída de produção serão excluídos permanentemente" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "Itens de estoque alocados serão retornados ao estoque" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "Deletar Saída de Produção" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "Nenhuma alocação de pedido de produção encontrada" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "Local não especificado" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "Saídas concluídas" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "Sucatear saídas" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "Exlcuir saídas" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "saída da produção" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "saídas da produção" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "Ações da saída de produção" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "Nenhuma saída de produção ativa encontrada" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "Linhas Alocadas" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "Testes Obrigatórios" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "Selecionar Peças" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "Você deve selecionar ao menos uma peça para alocar" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "Especifique a quantidade de alocação de estoque" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "Todas as Peças Alocadas" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "Todas as peças selecionadas foram completamente alocadas" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "Selecione o local de origem (deixe em branco para tirar de todos os locais)" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "Alocar Itens de Estoque para o Pedido de Produção" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "Nenhum local de estoque correspondente" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "Nenhum item de estoque correspondente" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "Alocação Automática de Estoque" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Itens de estoque serão automaticamente alocados para este pedido de produção, conforme as diretrizes fornecidas" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Se um local for especificado o estoque será apenas alocado deste local" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Se o estoque é considerado intercambiável será alocado a partir da primeira localização encontrada" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Se estoque substituto é permitido será utilizado quando o estoque primário não for encontrado" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "Alocar Itens de Estoque" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "Nenhuma produção corresponde a consulta" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "Selecionar" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "Pedido de produção está atrasada" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "Sem informações de usuário" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "Editar alocação de estoque" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "Excluir alocação de estoque" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "Editar Alocação" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "Remover Alocação" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "linha de produção" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "linhas de produção" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "Nenhuma linha produção encontrada" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "Peça rastreável" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "Quantidade Unitária" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "Estoque suficiente disponível" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "Item Consumível" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "Item rastreado" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "Estoque de produção" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "Pedir Estoque" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "Alocar Estoque" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "Remover alocação de estoque" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "Nenhuma categoria" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "Visualizar como lista" @@ -13431,7 +13545,7 @@ msgstr "Exibir como grade" msgid "No subcategories found" msgstr "Nenhuma subcategoria encontrada" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "Exibir como árvore" @@ -14284,7 +14398,7 @@ msgstr "Pegar" msgid "Add Stock" msgstr "Adicionar Estoque" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Adicionar" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "Selecionar Itens de Estoque" @@ -14388,216 +14502,216 @@ msgstr "Atribuir para o Pedido de Venda" msgid "No stock location set" msgstr "Sem local de estoque definido" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "Mudar estado do estoque" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "Mesclar estoque" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "Excluir estoque" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "itens de estoque" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "Escanear para local" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "Ações de Estoque" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "Carregar itens instalados" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "Detalhes" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "Nenhuma mudança" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "Adicionado" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "Removido" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "Nenhum item instalado" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "O Item de Estoque conecta a uma peça que é um BOM deste Item de Estoque" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Sim" msgid "No" msgstr "Não" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Usuários" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "Selecione quais usuários estão atribuídos a este grupo" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "Os seguintes usuários são membros de vários grupos" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Informações pessoais" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Permissões" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "Datas importantes" @@ -15205,35 +15319,35 @@ msgstr "Última vez que o token foi usado" msgid "Revoked" msgstr "Revogado" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Permissão definida" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Grupo" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Visualizar" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Permissão para ver itens" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Permissão para adicionar itens" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Alterar" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Permissões para editar itens" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Permissão para excluir itens" diff --git a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po index d8a782cbbc..94a8f58062 100644 --- a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-27 22:17\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: pt-BR\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,18 +79,18 @@ msgstr "" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " -msgstr "" +msgstr "O valor fornecido não corresponde ao padrão exigido: " #: InvenTree/forms.py:129 msgid "Enter password" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index 852ea7bbd6..6b4fc2b175 100644 --- a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: ro\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 61343c8639..ecd3e39ca6 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: ru\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "У пользователя недостаточно прав для просмотра этой модели!" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Предоставлено недопустимое значение ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Значение не указано" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Невозможно преобразовать {original} в {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Недопустимое количество" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Недопустимое количество ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Подробности об ошибке можно найти в панели администратора" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Введите дату" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Записи" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Значение '{name}' отсутствует в формате шаблона" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Предоставленное значение не соответствует требуемому формату: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Указанный основной адрес электронной почты неверен." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Указанный домен электронной почты не утверждён." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Регистрация отключена." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "недопустимое количество" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Пустая строка серийного номера" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Повторяющийся серийный номер" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Недопустимый диапазон группы: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Диапазон группы {group} превышает допустимое количество ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Неверная последовательность групп: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Серийных номеров не найдено" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Удалить HTML теги из этого значения" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Ошибка соединения" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Сервер ответил неверным кодом статуса" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Произошло исключение" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Сервер ответил неверным значением Контент-Длина" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Изображение слишком большое" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Загрузка изображения превышен максимальный размер" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Удаленный сервер вернул пустой ответ" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Предоставленный URL не является допустимым файлом изображения" @@ -364,8 +364,8 @@ msgstr "Китайский (Традиционный)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Войти в приложение" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Метаданные плагина" msgid "JSON metadata field, for use by external plugins" msgstr "Поле метаданных JSON для использования внешними плагинами" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Неправильно отформатированный шаблон" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Указан неизвестный ключ формата" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Отсутствует требуемый ключ формата" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Ссылочный идентификатор не может быть пустым" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Ссылка должна соответствовать шаблону {pattern}" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Номер ссылки слишком большой" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Повторяющиеся имена не могут существовать под одним и тем же родителем" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Название" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Название" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Описание" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Путь" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Записи о скидке (необязательно)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Данные штрих-кода" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Данные стороннего штрих-кода" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Хэш штрих-кода" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Уникальный хэш данных штрих-кода" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Обнаружен существующий штрих-код" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Ошибка сервера" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Валюта" msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Имя пользователя" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Имя" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "Имя пользователя" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Фамилия" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "Фамилия пользователя" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "Электронный адрес пользователя" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "Персонал" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "Имеет ли этот пользователь права персонала" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "Суперпользователь" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "Это пользователь является суперпользователем" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "Это пользователь является суперпользо msgid "Active" msgstr "Активный" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "Активна эта учетная запись" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "У вас недостаточно прав для изменения роли этого пользователя." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Только суперпользователи могут создавать новых пользователей" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Ваша учётная запись была успешно создана." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Пожалуйста, используйте функцию сброса пароля для входа" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Добро пожаловать в InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Столбцы данных не предоставлены" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Отсутствует обязательный столбец: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Удаленное изображение" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "ССЫЛКА файла изображения на удаленном сервере" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Сервер электронной почты не настроен" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Ошибка проверки состояния системы InvenTree" @@ -691,122 +691,122 @@ msgstr "Неверная физическая единица" msgid "Not a valid currency code" msgstr "Неверный код валюты" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Значение избытка не должно быть отрицательным" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Избыток не может превысить 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Неверное значение для избытка" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Редактировать информацию о пользователе" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Установить пароль" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Пароли должны совпадать" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Указан неверный пароль" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Информация о системе" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "О программе InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительский заказ на производство" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "Назначено мне" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Создано" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Расходники" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Необязательно" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Производимая деталь" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Отслеживается" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Зарезервировано" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Зарезервировано" msgid "Available" msgstr "Доступно" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Заказ на производство" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Заказ на производство" msgid "Build Orders" msgstr "Заказы на производство" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "Сборка BOM не подтверждена" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "Порядок сборки не может быть создан для неактивной части" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "Порядок сборки не может быть создан для разблокированной части" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Должен быть указан ответственный пользователь или группа" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Деталь заказа на производства не может быть изменена" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Ссылка на заказ на производство" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Ссылка на заказ на производство" msgid "Reference" msgstr "Отсылка" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Краткое описание заказа на производство (необязательно)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Заказ на производство, которому принадлежит этот заказ на производство" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Заказ на производство, которому принад #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Заказ на производство, которому принад #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Деталь" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Выберите деталь для производства" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Заказ на продажу, которому принадлежит этот заказ на производство" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Место хранения - источник" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Выберите место хранения для этого заказа на производство (оставьте пустым, чтобы взять с любого места на складе)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Место хранения результата" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Количество производимых деталей" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Количество складских позиций для производства" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Произведенные детали" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Количество складских позиций, которые были произведены" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Статус заказа на производство" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Код статуса заказа на производство" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Код партии для продукции" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для заказа на производства. Заказ будет просрочен после этой даты." -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "выполнено" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Создано" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Ответственный" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Пользователь, ответственный за этот заказ на производство" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Приоритет производства" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Приоритет этого заказа на производство" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Приоритет этого заказа на производство msgid "Project Code" msgstr "Код проекта" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Код проекта для этого заказа на производство" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "Не удалось выгрузить задачу для распределения на сборку" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Заказ на производство {build} был завершен" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Заказ на производство был завершен" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Продукция не указана" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Продукция уже произведена" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "Продукция не совпадает с заказом на производство" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше количества продукции" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Сборка {serial} не прошла все необходимые тесты" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "Номер позиции для производства" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Объект производства" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Объект производства" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Объект производства" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Количество" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Требуемое количество для заказа на производство" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент производства должен указать продукцию, как главную деталь помеченную как отслеживаемая" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "Выбранная складская позиция не соответствует позиции в BOM" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "Выбранная складская позиция не соответ #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Складская позиция" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Исходная складская позиция" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Количество на складе для производства" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Установить в" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Целевая складская позиция" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Наименование детали" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "Название кода проекта" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Выход Продукции" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Продукция не совпадает с родительским заказом на производство" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Продукция не соответствует детали заказа на производство" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Эта продукция уже помечена как завершенная" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Сырье для этой продукции не полностью зарезервировано" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Введите количество продукции" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Требуется целое количество, так как материал содержит отслеживаемые детали" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Серийные номера" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для продукции" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Введите серийные номера для продукции" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Расположение" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Автоматически выделить серийные номера" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически зарезервировать необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "Для отслеживаемых частей должны быть указаны серийные номера" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Необходимо представить список выхода деталей" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Место хранения для списанной продукции" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Отменить резервирование" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Отменить все резервы запасов для списанной продукции" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Причина списания продукции" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Место хранения для завершенной продукции" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Статус" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Разрешить неполное резервирование" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Завершить продукцию, если запасы не были полностью распределены" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Удалить незавершенную продукцию" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Удалить всю незавершенную продукцию" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Запрещено" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Принять как поглощенный этим заказом на производство" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Отменить резерв, до завершения заказа на производство" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Перераспределенные запасы" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Как вы хотите обработать дополнительные складские позиции, назначенные для заказа на производство" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Некоторые складские позиции были перераспределены" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Разрешить не полное резервирование" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Подтвердите, что складские позиции не были полностью зарезервированы для этого заказа на производство" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Необходимые запасы не были полностью зарезервированы" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Разрешить незавершенные производимые детали" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Допустить, что требуемое кол-во продукции не завершено" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Требуемое количество деталей не было произведено" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "Заказ на производство имеет незавершенную продукцию" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Позиция для производства" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Выход продукции" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "Продукция должна указывать на тот же производство" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Позиция для производства" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "Продукция должна быть указан для резервирования отслеживаемых частей" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Необходимо указать резервируемые элементы" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Место хранения, где будут зарезервированы детали (оставьте пустым, чтобы забрать их из любого места)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Исключить место хранения" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Исключить складские позиции из этого выбранного места хранения" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Обменный остаток" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Складские позиции в нескольких местах могут использоваться на взаимозаменяемой основе" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Заменить остатки" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Разрешить резервирование замещающих деталей" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Необязательные элементы" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Зарезервировать необязательные позиции BOM для заказа на производство" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "Не удалось запустить задачу автораспределения" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Код производителя" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "Имя Места Хранения" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Упаковка" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Код детали" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "IPN детали" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Описание детали" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Серийный номер" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "Зарезервированное количество" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "Доступный запас" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Отслеживание" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "Унаследованные" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Позиция BOM" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Зарезервированные Запасы" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "В заказе" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Доступный запас" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "Внешний склад" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Отменено" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Готово" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Необходимый запас для заказа на производство" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Просроченный заказ сборки" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Заказ на производство {bo} просрочен" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Остатки не были полностью зарезервированы для этого заказа на производство" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Завершенная продукция" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Завершенная продукция" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Заказ на продажу" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Приоритет" @@ -1968,7 +1977,7 @@ msgstr "Источник запаса" msgid "Stock can be taken from any available location." msgstr "Остатки не могут быть получены из любого доступного места хранения." -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Назначение" @@ -1981,13 +1990,13 @@ msgstr "Место назначения не указано" msgid "Allocated Parts" msgstr "Зарезервированные детали" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Партия" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Создано" @@ -2120,7 +2129,7 @@ msgstr "Новый заказ на производство" msgid "Build Order Details" msgstr "Подробности Заказа на Производство" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Незавершенная продукция" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "Ссылка" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "Файл" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "У пользователя нет прав на удаление этого вложения" @@ -2209,1631 +2218,1631 @@ msgstr "Файл {name.title()}" msgid "Select {name} file to upload" msgstr "Выберите {name} файл для загрузки" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Обновлено" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Временная метка последнего обновления" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "URL сайта заблокирован настройками" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Уникальный код проекта" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Описание проекта" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "Пользователь или группа, ответственные за этот проект" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "Ключ настроек (должен быть уникальным - не чувствителен к регистрам)" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "Значения настроек" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "Выбранное значение не является допустимым" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "Значение должно быть булевым" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "Значение должно быть целым числом" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "Строка ключа должна быть уникальной" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Нет группы" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "Настройки были изменены, что требует перезапуска сервера" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Ожидаемые миграции" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "Количество ожидаемых миграций базы данных" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Название сервера" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "Текстовое описание сервера" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Название инстанса" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Имя сервера в заголовке" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Ограничить отображение `О...`" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Показать `О...` только суперпользователям" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Название компании" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "Выберите базовую валюту для расчета цены" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "Поддерживаемые валюты" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "Список поддерживаемых кодов валют" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "Интервал обновления курса валют" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Как часто обновлять курс валют (установите \"ноль\", чтобы выключить)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "дней" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "Плагин обновления валют" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "Модуль обновления валюты" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Разрешить загрузку удаленных изображений и файлов по внешнему URL" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Ограничение размера загрузки" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Максимально допустимый размер загрузки для удалённого изображения" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "User-Agent, используемый для загрузки из URL" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Позволяет переопределить user-Agent, используемый для загрузки изображений и файлов с внешнего URL (оставьте пустым по умолчанию)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "Строгая проверка URL-адреса" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "Требуется спецификация схемы при проверке URL-адресов" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Требуется подтверждение" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Требовать явное подтверждение пользователя для определенного действия." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Глубина дерева" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Глубина дерева по умолчанию для просмотра дерева. Глубокие уровни загружены по мере необходимости." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Интервал проверки обновлений" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Как часто проверять наличие обновлений (установите ноль чтобы выключить)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Автоматическое резервное копирование" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Включить автоматическое резервное копирование базы данных и медиа-файлов" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Интервал резервного копирования" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Укажите количество дней между событиями автоматического резервного копирования" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Интервал удаления задачи" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "Результаты фоновых задач будут удалены после указанного количества дней" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "Интервал удаления журнала ошибок" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "Журналы ошибок будут удалены после указанного количества дней" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "Интервал удаления уведомления" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Уведомления пользователя будут удалены после указанного количества дней" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Поддержка штрих-кодов" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "Включить поддержку сканера штрих-кодов в веб-интерфейсе" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Задержка сканирования штрих-кода" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Время задержки обработки штрих-кода" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Поддержка веб-камер штрих-кодов" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Разрешить сканирование штрих-кода через веб-камеру в браузере" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "Отображать данные штрих-кода в браузере в виде текста" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "Плагин генерации штрих-кода" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "Ревизия детали" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Включить поле ревизии для элемента" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "Разрешить удаление из заказа" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "Разрешить удаление частей, которые используются в заказе" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "Регулярное выражение IPN" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Шаблон регулярного выражения для сопоставления IPN детали" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Разрешить нескольким элементам использовать один и тот же IPN" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Разрешить изменение значения IPN при редактировании детали" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Скопировать данные BOM детали" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Копировать данные BOM по умолчанию при дублировании детали" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Скопировать данные параметров детали" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Копировать данных параметров по умолчанию при дублировании детали" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Скопировать данные тестирования детали" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Копировать данные тестирования по умолчанию при дублировании детали" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Скопировать параметры по шаблону категории" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "Копировать параметры по шаблону категории при создании детали" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Шаблон" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Компонент" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "По умолчанию детали могут использоваться в качестве суб-компонентов" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Можно купить" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Детали продаются по умолчанию" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Виртуальная" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Детали являются виртуальными по умолчанию" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Показать Импорт в просмотре" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Отобразить мастер импорта на некоторых видах деталей" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Отображать связанные детали для элемента" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Начальные данные о запасах" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Разрешить создание начального запаса при добавлении новой детали" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Исходные данные о поставщике" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Разрешить создание исходных данных о поставщике при добавлении новой детали" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Формат отображения детали" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Формат для отображения имени детали" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Значок раздела по умолчанию" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Значок категории по умолчанию (пустой означает отсутствие значка)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Принудительное применение единиц измерения параметров" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Если введены единицы, значения параметра должны соответствовать указанным единицам измерения" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Минимальные Цены Десятичные Значки" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "Макс. Цены десятичные знаки" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Использовать цены поставщика" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Изменить историю покупки" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Ценообразование по историческим заказам на поставку отменяет различия в ценах поставщиков" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Использовать цены из складских позиций" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Использовать расценки из ручного ввода данных о запасах для расчета цен" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Возраст цен складских позиций" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Исключить складские позиции старше указанного количества дней с расчёта цен" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Использовать варианты цен" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Только Активные Варианты" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "Использовать только активные запчасти для расчета стоимости варианта" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "Интервал пересчета цен" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Количество дней до автоматического обновления цены" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Внутренние цены" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Разрешить внутренние цены для частей" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Переопределение внутренней цены" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "При наличии внутренних цен переопределить ценовой диапазон" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Включить печать этикеток" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Включить печать этикеток из веб-интерфейса" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "Изображение меток DPI" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Разрешение DPI при создании файлов изображений для печати этикеток плагинов" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Включить отчеты" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Включить генерацию отчетов" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Генерировать отчеты в режиме отладки (вывод HTML)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "Журнал ошибок отчета" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "Журнал ошибок, которые возникают при создании отчетов" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Размер страницы" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Размер страницы по умолчанию для PDF отчетов" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Включить отчеты" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Включить генерацию отчетов" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Прикрепить отчеты о тестах" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "При печати отчета о тестировании приложить копию тестового отчета к соответствующему складской позиции" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Глобально уникальные серийные номера" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "Серийные номера для складских позиций должны быть уникальными глобально" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Автоматическое заполнение серийных номеров" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Автоматическое заполнение серийных номеров в формах" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Удалить исчерпанный запас" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "Определяет поведение по умолчанию, когда складская позиция заканчивается" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Код партии Шаблона" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Шаблон для создания кодов партии по умолчанию для складских позиций" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Срок годности Запасов" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Включить функцию истечения срока годности" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Разрешить продажу просроченных запасов" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Время Залежалости Запасов" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Количество дней перед тем как складская единица будет считаться просроченной" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Разрешить использовать просроченные остатки в производстве" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Контроль за собственными запасами" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Разрешить владельцу контролировать расположение складов и номенклатуры" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Значок местоположения по умолчанию" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Значок местоположения склада по умолчанию (пустой означает отсутствие значка)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "Показать установленные складские позиции" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "Отображать установленные складские позиции в складских таблицах" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "Проверять спецификацию при установке изделий" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Установленные единица хранения должны присутствовать в спецификации для родительской детали" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "Разрешить передачу товара, отсутствующего на складе" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Разрешить перемещение товаров, которых нет на складе, между складами" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Паттерн ссылки заказа на производство" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Поле требуемого паттерна для создания ссылки заказа на производство" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "Требуется ответственный владелец" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "Ответственный владелец должен быть назначен для каждого заказа" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Запретить вывод сборки до тех пор, пока не пройдут все необходимые тесты" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "Включить заказы на возврат" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "Включите функцию заказа на возврат в пользовательском интерфейсе" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "Шаблон заказа на возврат товара" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "Необходимый шаблон для создания поля «Возврат заказа»" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "Редактировать завершенные возвратные заказы" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "Разрешить редактирование возвращенных заказов после их завершения" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Шаблон заказа на возврат товара" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Необходимый шаблон для создания поля «Возврат заказа»" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Редактировать завершенные заказы на покупку" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Разрешить регистрацию" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "Включить SSO" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "Написать дважды" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Пароль дважды" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Разрешенные домены" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Принудительное MFA" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Пользователи должны использовать многофакторную безопасность." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Проверять плагины при запуске" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Исключить складские позиции во внешних местах хранения из инвентаризации" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "Автоматический период инвентаризации" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Количество дней между автоматической записью запасов (установите нулевое значение для отключения)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "Интервал удаления журнала ошибок" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Журналы ошибок будут удалены после указанного количества дней" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "Показывать полные имена пользователей" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "Отображать полные имена пользователей вместо логинов" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "Включить данные тестовой станции" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "Включить сбор данных с тестовой станции для получения результатов тестирования" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "Ключ настроек (должен быть уникальным - не чувствителен к регистру)" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "Скрыть неактивные детали" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Скрывать неактивные части в результатах, отображаемых на главной странице," -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "Показывать недопустимые спецификации" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "Показывать складские позиции с недавно изменившимися запасами на главной странице" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "Показывать складские позиции с низкими запасами на главной странице" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Показывать закончившиеся складские позиции" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся складские позиции на главной странице" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Показывать требуемые складские позиции" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для производства складские позиции на главной странице" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Показывать складские позиции с истекшим сроком годности" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "Показывать складские позиции с истёкшим сроком годности на главной странице" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Показывать залежалые складские позиции" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "Показывать складские позиции с истекающим сроком годности на главной странице" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Показывать незавершённые производства" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые производства на главной странице" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Показывать просроченные производства" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные производства на главной странице" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Показать невыполненные заказы" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Покажите невыполненные заказы на покупку на главной странице" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Показать просроченные заказы на производство" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Показать невыполненные заказы" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "Покажите невыполненные заказы на покупку на главной странице" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Показать просроченные заказы на продажу" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "Показывать просроченные заказы на покупку на главной странице" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Показывать новости" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Отображение PDF-этикетки в браузере вместо загрузки в виде файла" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Принтер этикетки по умолчанию" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "Настроить принтер этикеток по умолчанию" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Отображение встроенного отчета" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Отображение PDF-этикетки в браузере вместо загрузки в виде файла" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Поиск Деталей" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "Отображение деталей в окне предварительного просмотра поиска" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Поиск деталей поставщика" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "Отображение деталей поставщика в окне предварительного просмотра поиска" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Новая деталь производителя" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "Отображение деталей поставщика в окне предварительного просмотра поиска" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Скрыть неактивные детали" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "Исключить неактивные детали из окна предварительного просмотра поиска" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Категории поиска" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "Отображение деталей в окне предварительного просмотра поиска" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Поиск Запасов" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "Отображать складские позиции в окне предварительного просмотра поиска" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Скрыть недоступные складские позиции" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "Исключить недоступные складские позиции из окна предварительного просмотра поиска" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Поиск мест хранения" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "Отображать места хранения в окне предварительного просмотра поиска" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Поиск компаний" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Поиск заказов на производство" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "Отображать заказы на производство в окне предварительного просмотра поиска" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Поиск заказов на покупку" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Поиск заказов на продажу" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Поиск заказов на возврат" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Поиск по Regex" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Фиксированная панель навигации" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Формат даты" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Планирование деталей" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Инвентаризация детали" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Пользователь" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Цена" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "Конечная точка" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "Токен" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Токен для доступа" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Секрет" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "ID Сообщения" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "Хост" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Заголовок" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Тело" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "Работал над" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "Код" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Заголовок" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Заголовок" msgid "Link" msgstr "Ссылка" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Опубликовано" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Автор" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Итого" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Читать" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "Изображение" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Файл изображения" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "Название единицы" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Символ" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Определение" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Вложения" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Файл не найден" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Комментарий" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "Ключ" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "Полученные элементы" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "Запущен" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "Ожидающие задачи" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "Запланированные задания" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "Невыполненные Задачи" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "Код задачи" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "Уникальный ID задачи" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "Заблокировать" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "Время блокировки" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "Название задачи" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "Функция" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "Имя функции" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "Аргументы" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "Аргументы задачи" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Имя файла" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "Поля Соответствия" msgid "Match Items" msgstr "Совпадающие элементы" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Детали импортированы" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Компания" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Компании" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Описание компании" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "Описание компании" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Сайт" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "Сайт компании" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Телефон" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Контактный телефон" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Контактный EMail" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Контакт" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Контактное лицо" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Ссылка на описание компании" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Вы продаёте детали этой компании?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Вы закупаете детали у этой компании?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Является ли компания производителем деталей?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Адрес" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "Адреса" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "Выберите компанию" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "Заголовок адреса" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Строка 1" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "Адресная строка 1" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Строка 2" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "Адресная строка 2" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Почтовый индекс" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "Город/Регион" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "Регион/Область" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "Страна" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "Страна адреса" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "Записи отправления" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "Записи для курьера" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "Внутренние записи отправления" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "Записи отправления для внутреннего пользования" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "Ссылка на адресную информацию (внешняя)" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Деталь производителя" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Выберите деталь" msgid "Manufacturer" msgstr "Производитель" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Выберите производителя" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "Описание детали производителя" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Значение" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Ед.изм" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Единицы измерения параметра" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Деталь поставщика" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "Связанная деталь производителя должна ссылаться на ту же базовую деталь" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "Связанная деталь производителя должна msgid "Supplier" msgstr "Поставщик" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Код поставщика" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Выберите производителя части" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "Описание детали поставщика" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Запись" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Упаковка детали" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "Упаковка детали" msgid "Pack Quantity" msgstr "Кол-во в упаковке" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "множественные" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Кратность заказа" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Валюта по умолчанию для этого поставщика" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "Удалить изображение" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Покупатель" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Телефон" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "Удалить Изображение" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Удалить" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "Загрузить Изображение" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "Скачать изображение" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Внутренняя деталь" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Складские позиции" @@ -5022,99 +5123,107 @@ msgstr "Новый покупатель" msgid "New Company" msgstr "Новая компания" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Размещены" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "Столбцы" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "Сопоставление столбцов должно быть связано с корректным сеансом импорта" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "Номер строки" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "Данные" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "Ошибки" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "Корректный" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "Инициализация" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "Копии" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "Подключен" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Неизвестно" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "Печать" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "Расположение принтера" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "Общая стоимость" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "Имеет цену" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Заказ" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "Заказ на возврат" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Валюта Заказа" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "Контакт не соответствует выбранной компании" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "Описание заказа (дополнительно)" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "Выберите код проекта для этого заказа" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Ссылка на внешнюю страницу" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Создал" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Пользователь или группа, ответственная за этот заказ" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Ссылка на заказ" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "получил" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Дата создания" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Дата отгрузки" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "Отправлено" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Количество" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "Записи о позиции" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "Описание позиции (необязательно)" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "Контекст" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "Дополнительный контекст для этой строки" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Цена за единицу" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "удалено" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Деталь поставщика" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "Деталь поставщика" msgid "Received" msgstr "Получено" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Цена последней продажи" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Доставлено" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Отгруженное кол-во" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Дата отправления" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Дата доставки" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Проверн" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Отправление" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Номер отправления" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Номер отслеживания" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Информация об отслеживании доставки" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Номер счета" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "Отправка не имеет зарезервированных складских позиций" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "Складская позиция не была назначена" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "Невозможно зарезервировать складскую позицию в позицию другой детали" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "Количество должно быть 1 для сериализированных складских позиций" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "Строка" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Элемент" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "Выберите складскую позицию для резервирования" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Укажите резервируемое количество" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "Выберите позицию, возвращаемую от клиента" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "Дата получения" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "Результат" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "Имя поставщика" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "Заказ не открыт" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Валюта цены закупки" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "Позиция" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "Выберите место назначения для полученных элементов" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих складских позиций" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Введите серийные номера для входящих складских позиций" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Штрих-код" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "Сканированный штрих-код" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "Валюта цены продажи" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "Введите серийные номера для резервирования" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Потерян" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Возвращено" @@ -6184,8 +6293,8 @@ msgstr "Дублировать выбранное" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "Ожидающие отправления" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Действия" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Ревизия" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Ключевые слова" @@ -6427,7 +6537,7 @@ msgstr "Изображение Детали" msgid "Category ID" msgstr "Код категории" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "Название категории" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -6452,23 +6562,23 @@ msgstr "Минимальный запас" msgid "Used In" msgstr "Используется в" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Производится" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Минимальная Стоимость" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Максимальная Стоимость" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "ID родителя" @@ -6481,8 +6591,8 @@ msgstr "Имя родителя" msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "Родительский IPN" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "Остатки произведенные заказом на производство" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "Остатки требуемые для заказов на производство" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "Необходимо выбрать эту опцию" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Категория" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Место хранения по умолчанию" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Общий запас" @@ -6641,421 +6755,421 @@ msgstr "Общий запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Категория детали" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "Структура" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Детали не могут быть непосредственно отнесены к структурной категории, но могут быть отнесены к дочерним категориям." -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Ключевые слова по умолчанию" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "Иконка" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "Иконка (необязательно)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "Складская позиция с этим серийным номером уже существует" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "Часть с таким именем, IPN и ревизией уже существует." -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном?" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "Описание детали (необязательно)" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Категория" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "Поставщик по умолчанию" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "Срок действия по умолчанию" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "Единицы измерения этой детали" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "Эта деталь активна?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "Контрольная сумма BOM" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "BOM проверил" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "Дата проверки BOM" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Создатель" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Последняя инвентаризация" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "Продать несколько" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "Минимальная Стоимость BOM" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "Максимальная Стоимость BOM" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "Количество Элементов" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Дата" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "Дополнительные Записи" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Отчет" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Количество Деталей" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "Шаблоны тестирования могут быть созданы только для отслеживаемых деталей" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Включено" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Требуется" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Варианты" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "Название параметра" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "Описание параметра" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Чекбокс" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "Значение Параметра" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Значение по умолчанию" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "Код или наименование детали" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "Уровень" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "Уровень BOM" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на производство)" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Перерасход" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Расчетное количество перерасходов производства (абсолютное или процентное)" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "Записи о позиции BOM" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Проверен" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Складские позиции для разновидностей деталей могут быть использованы для этой позиции BOM" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "Результаты" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" @@ -7457,326 +7571,326 @@ msgstr "Валюта закупки складской позиции" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "Не выбрана ни одна деталь" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Можно произвести" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "Пропустить некорректные строки" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "Инвентаризация" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "Показать описание детали" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "Зарезервировано заказами на производство" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "Минимальный складской запас" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "Диапазон цен" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "Последний Серийный Номер" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "QR-код детали" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "Рассчитать" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "Скрыть описание детали" @@ -8288,7 +8406,7 @@ msgstr "Разновидности" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "Редактировать" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "Последнее обновление" @@ -8498,8 +8616,8 @@ msgstr "Действие не указано" msgid "No matching action found" msgstr "Соответствующее действие не найдено" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Не найдено совпадений для данных штрих-кода" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "Штрих-код не соответствует существующим складским позициям" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "Складская позиция не соответствует позиции" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "Складская позиция зарезервирована заказом на продажу" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "Открыть ссылку" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "Ключ" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "Ключ плагина" @@ -8994,7 +9108,7 @@ msgstr "Плагин" msgid "Method" msgstr "Метод" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "Автор не найден" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "Полная перезагрузка" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "Принудительная перезагрузка" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "Собрать плагины" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "Активировать плагин" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "Прогресс" @@ -9403,7 +9517,7 @@ msgstr "Результаты тестирования" msgid "Test" msgstr "Тестирование" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "Результат" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "Нет результата" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Установленные элементы" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Серийный номер" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "Код места хранения" @@ -9459,58 +9573,58 @@ msgstr "Код места хранения" msgid "Location Path" msgstr "Путь места хранения" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "Код складской позиции" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "Код статуса" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "Код детали поставщика" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "ID Поставщика" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "ID Клиента" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Установлено в" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "Код производства" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "ID заказа на продажу" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Требуется рецензия" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Истекает" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "Древо Деталей" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Залежалый" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Места хранения" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Владелец" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "Выберите владельца" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Складские позиции не могут находиться в структурных местах хранения, но могут находиться в дочерних местах хранения." -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "Внешний" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "Тип Места Хранения" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Вы не можете сделать это место хранение структурным, потому, что некоторые складские позиции уже находятся в нем!" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "Складские позиции не могут находиться в структурных местах хранения!" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "Складская позиция не может быть создана для виртуальных деталей" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "Элемент должен иметь ссылку на производство, если is_building=True" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "Ссылка на производство не указывает на тот же элемент" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "Складская позиция" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "Выберите соответствующего поставщика детали для этой складской позиции" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "Где находиться эта складская позиция?" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "Упаковка этой складской позиции хранится в" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "Код партии для этой складской позиции" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "Количество на складе" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "Исходное производство" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "Производства для этой складской позиции" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Поглощен" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "Заказ на производство, который поглотил эту складскую позицию" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "Заказ на закупку для этой складской позиции" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Дата истечения срока годности для складской позиции. Остатки будут считаться просроченными после этой даты" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту складскую позицию при обнулении складского запаса" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "Складская позиция была назначена заказу на продажу" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "Складская позиция установлена в другую деталь" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "Складская позиция содержит другие детали" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "Складская позиция была назначена покупателю" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "Складская позиция в производстве" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь поставщика" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "Результат тестирования" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "Записи Тестирования" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "Родительский элемент" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Просрочен" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "Дочерние элементы" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "Закупочная цена для этой складской позиции, за единицу или за упаковку" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "Введите количество складских позиций для сериализации" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "Введите серийные номера для новых элементов" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "Опциональное поле записей" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "Выберите складскую позицию для установки" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "Добавить запись к транзакции (необязательно)" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "Складская позиция недоступна" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "Выберите деталь в которую будет преобразована складская позиция" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Невозможно преобразовать складскую позицию с назначенной деталью поставщика" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "Выберите складские позиции для изменения статуса" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "Не выбрано ни одной складской позиции" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Места хранения" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "Элемент зарезервирован для заказа на производство" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "Покупатель для назначения складских позиций" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "Записи о назначенных запасах" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "Необходимо предоставить список складских позиций" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "Записи о слияниях запасов" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "Разрешить слияние складских позиций с различными поставщиками" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "Разрешить слияние складских позиций с различными статусами" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "Необходимо предоставить как минимум 2 складские позиции" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "Нет изменений" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "Статус складской позиции" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "Записи о перемещениях запасов" @@ -10175,107 +10289,107 @@ msgstr "Отклоненный" msgid "Quarantined" msgstr "Карантин" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Отслеживание устаревших запасов" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Складская позиция создана" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Отредактированная складская позиция" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Присвоенный серийный номер" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Новое значение запасов установлено" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Запасы, добавленные вручную" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Запасы удаленные вручную" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Место хранения изменено" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Запас обновлен" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Установленно в производимую деталь" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Удалено из производимой детали" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Установленный компонент" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Удаленный компонент" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Отделить от родительского элемента" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Разбить дочерний элемент" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Объединенные складские позиции" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Преобразовать в разновидность" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Создан выход продукции для этого заказа на производство" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Продукция заказа на производство завершена" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Продукция заказа на производство отклонена" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Поглощен заказом на производство" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Отгружено по заказу на продажу" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Получено по заказу на поставку" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Возвращено по заказу на возврат" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Отправлено клиенту" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Возвращено от клиента" @@ -10316,7 +10430,7 @@ msgstr "Записи складской позиции" msgid "Installed Stock Items" msgstr "Установленные складские позиции" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "Установить складскую позицию" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "Переместить запасы" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "Удалить складскую позицию" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Производство" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Место хранения не установлено" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Новое место хранения" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "места хранения" @@ -11109,7 +11223,7 @@ msgstr "Оценить" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Удалить" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "группа" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Требуемое кол-во" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "Расходник" @@ -12231,7 +12345,7 @@ msgstr "Просмотр BOM" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "Необходимая деталь" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "Редактировать заказ на производство" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "Складские позиции были зарезервированы для этого заказа на производство" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "У этого заказа на производство осталась незавершенная продукция" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "Этот заказ на производство не может быть завершен, так как имеет незавершенный выход деталей" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "BOM содержит отслеживаемые детали" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "Продукция должна создаваться индивидуально" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Ведите серийные номера для создания нескольких единиц продукции" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "Создать Выход Продукции" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "Зарезервировать складские позиции для этой продукции" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "Отменить резерв этой продукции" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "Завершить продукцию" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "Списать продукцию" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "Удалить продукцию" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "Вы уверены, что хотите отменить резерв выбранных складских позиций из этого производства?" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "Отменить резерв складских позиций" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "Выбрать Продукцию" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "Как минимум одна единица продукции должна быть выбрана" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "Выбранная продукция будет отмечена как завершенная" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "Продукция" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "Завершить Продукцию" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "Выбранная продукция будет отмечена как списанная" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "Списанная продукция отмечена как отклоненная" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "Зарезервированная складская позиция более не доступна" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "Списать Продукцию" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "Выбранная продукция будет удалена" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "Продукция будет полностью удалена" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "Зарезервированные складские позиции были возвращены на склад" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "Удалить Продукцию" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "Завершенная продукция" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "Списанная продукция" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "Удаленная продукция" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "продукция" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "продукция" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "Действия с продукцией" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "Активная продукция не найдена" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "Зарезервированные Строки" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "Требуемые тесты" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "Выбрать детали" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "Выберите место хранения - источник (оставьте пустым, чтобы взять из всех мест)" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "Зарезервировать складские позиции для этого заказа на производства" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "Нет совпадающих складских позиций" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Складские позиции будут автоматически зарезервированы на этот заказ на производстве, в соответствии с указанными рекомендациями" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "Зарезервировать Складские Позиции" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "Выбрать" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "Редактировать Резерв" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "строка производства" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "позиция производства" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "Количество единиц" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "Расходник" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "Отслеживаемый элемент" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "Запасы производства" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "Заказать запасы" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "Зарезервировать Остатки" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "Нет категории" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "Отобразить списком" @@ -13431,7 +13545,7 @@ msgstr "Отобразить сеткой" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "Отобразить древом" @@ -14284,7 +14398,7 @@ msgstr "Взять" msgid "Add Stock" msgstr "Добавить Запасы" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Добавить" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "Выбрать складские позиции" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "Место хранения не установлено" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "Изменить статус запасов" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "Объединить Запасы" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "Удалить запасы" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "складские позиции" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "Действия с Запасами" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "Складская позиция в производстве" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "Складская позиция зарезервирована заказом на продажу" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "Складская позиция была назначена покупателю" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "Сериализированная складская позиция была зарезервирована " -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "Складские позиции были полностью зарезервированы" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "Складские позиции были частично зарезервированы" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "Складская позиция была установлена в другую деталь" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "Складская позиция была поглощена заказом на продажу" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "Складская позиция была просрочена" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "Складская позиция будет просрочена в скором времени" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "Складская позиция была отклонена" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "Складская позиция была утеряна" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "Складская позиция была уничтожена" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "Истощен" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "Кол-во Запаса" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "Нет складских позиций соответствующих запросу" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "места хранения" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "Подробности" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "Нет изменений" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "Складская позиция не существует" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "Добавлено" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "Удалено" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "Снять складскую позицию" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "Выберите складскую позицию для съема" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "Установить другую складскую позицию в эту деталь" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Складские позиции могут быть установлены, только если отвечают следующим критериям" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Складская позиция ссылается на деталь, чья спецификация является этой складской позицией" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "Складская позиция сейчас доступна на складе" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "Складская позиция не установлена в другую деталь" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Складская позиция отслеживается либо по коду партии, либо серийному номеру" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "Выберите одну или более складских позиций" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "Выбранные складские позиции" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "Изменить статус запасов" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Да" msgid "No" msgstr "Нет" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Пользователи" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Персональная информация" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Права доступа" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "Важные даты" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "Отозван" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Группа" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Вид" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Изменить" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 96e4a319cd..783e092677 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: sk\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 98343eefb0..5e9e67c0d2 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: sl\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API vmesnik ni najden" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Uporabnik nima dovoljenja pogleda tega modela" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Vnesena napačna enota ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Vrednost ni vnesena" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Ni mogoče pretvoriti {original} v {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Vnesena napačna količina" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Vnesena napačna količina ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Podrobnosti napake so vidne v pogledu administratorja" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Vnesi datum" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Vnesi datum" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Zapiski" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Vrednost '{name}' ni v predpisanem formatu" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Podana vrednost se ujema s predpisanim vzorcem: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Podana epošta ni veljavna." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Domena epošte ni podprta." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Registracija je onemogočena." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Podana napačna količina" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Prazno polje serijske številke" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Dvojna serijska številka" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Neveljavni doseg skupine: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Doseg skupine {group} presega dovoljene količine ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Nepravilno zaporedje skupine: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Serijske številke niso najdene" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Število unikatnih serijskih številk ({len(serials)}) se mora ujemati s količino ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Odstranite oznako HTML iz te vrednosti" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Napaka povezave" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Odziv serverja: napravilni status kode" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Pojavila se je izjema" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Odziv serverja: napačna dolžina vrednosti" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Prevelika velikost slike" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Prenos slike presegel največjo velikost" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Oddaljeni server vrnil prazen odziv" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Podani URL ni veljavna slikovna datoteka" @@ -364,8 +364,8 @@ msgstr "Kitajščina (tradicionalno)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Prijavite se v aplikacijo" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Metapodatki vtičnika" msgid "JSON metadata field, for use by external plugins" msgstr "Polje metapodatkov JSON za uporabo pri zunanjih vtičnikih" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Nepravilno nastavljen vzorec" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Nastavljen neprepoznan ključ formata" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Manjka obvezen ključ formata" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Referenčno polje ne sme biti prazno" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Referenca se mora ujemati s vzorcem" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Referenčna številka prevelika" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Podvojena imena ne morejo obstajati pod istim nadrejenim elementom" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Nedovoljena izbira" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Ime" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Opis (opcijsko)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Pot" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Markdown opombe (neobvezno)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Podatki čtrne kode" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Podatki črtne kode tretje osebe" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Oznaka črtne kode" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Enolična oznaka podatkov črtne kode" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Črtna koda že obstaja" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Napaka strežnika" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Valuta" msgid "Select currency from available options" msgstr "Izberite valuto med razpoložljivimi možnostmi" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Nimate dovoljenja za spreminjanje vloge tega uporabnika." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Samo superuporabniki lahko ustvarijo nove uporabnike" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Vaš račun je bil ustvarjen." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Za prijavo uporabite funkcijo ponastavitve gesla" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Dobrodošli v InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Neveljavna vrednost" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Podatki datoteke" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Izberite datoteke za naložiti" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Nepodprta vrsta datotek" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Datoteka je prevelika" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "V datoteki ni bilo najdenih stolpcev" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "V datoteki ni bilo njadenih vrstic" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Niso bile podane vrste s podatki" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Niso bili podani stolpci s podatki" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Manjka obvezni stolpec: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dvojni stolpec: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Oddaljena slika" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "Povezava do oddaljene slike" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Zaledje e-pošte ni nastavljeno" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Preverjanje zdravja sistema InvenTree neuspelo" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "Neveljavna oznaka valute" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Prestara vrednost ne sme biti negativna" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Prestarost ne sme presegati 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Neveljavna vrednost za prestarost" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Uredite informacije o uporabniku" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Nastavite geslo" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Polja z geslom se morajo ujemati" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Vnešeno nepravilno geslo" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Sistemske informacije" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Nalog izgradnje" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Nalog izgradnje" msgid "Build Orders" msgstr "Nalogi izgradnje" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Neveljavna izbira za nadrejeno izgradnjo" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Referenca naloga izgradnje" msgid "Reference" msgstr "Referenca" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Del" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Izberite del za izgradnjo" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Referenca dobavnica" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokacija vira" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Izberite lokacijo dela za to izgradnjo (v primeru da ni pomembno pusti prazno)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Ciljna lokacija" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Izberite lokacijo, kjer bodo končne postavke shranjene" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Količina izgradenj" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Število postavk za izgradnjo" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Končane postavke" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Število postavk zaloge, ki so bile končane" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Status izgradnje" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Datum ustvarjenja" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Rok dokončanja" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Datom končanja" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "dokončal" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Izdal" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Odgovoren" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Zunanja povezava" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Količina" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Izgradnja" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Izhodni del se ne ujema s naročilom sestava" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Ta sestava je že zaključena" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Preklicano" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Končano" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Uporabnik" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "Povezava" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Priloga" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Manjka datoteka" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Izberite prilogo" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentar" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Ime datoteke" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Postavljeno" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Poslano" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Izgubljeno" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Vrnjeno" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Zavrnjeno" msgid "Quarantined" msgstr "Dano v karanteno" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Vnos zaloge postavke" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Postavka zaloge ustvarjena" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Urejena postavka zaloge" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Dodeljena serijska številka" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Zaloga prešteta" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Zaloga ročno dodana" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Zaloga ročno odstranjena" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Lokacija spremenjena" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Zaloga posodobljena" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Vstavljeno v sestavo" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Odstranjeno iz sestave" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Vstavljena postavka komponente" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Odstranjena postavka komponente" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Razdeljena od nadrejene postavke" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Razdeljena podrejena postavka" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Združena zaloga postavk" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Spremenjeno v varianto" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Nalog za izgradnjo ustvarjen" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Nalog za izgradnjo končan" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Nalog za izgradnjo zavrnjen" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Porabljeno v nalogu za izgradnjo" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Poslano preko prodajnega naročila" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Prejeto preko nabavnega naročila" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Vrnjeno preko naročila za vračilo" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Posalno stranki" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Vrnjeno od stranke" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Izdelava" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index fedb1960be..1fcbc53353 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: sr-CS\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API krajnja tačka nije pronađena" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Korisnik nema dozvolu za pregled ovog modela" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Nije navedena vrednost" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Nije moguće konvertovati {original} u {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Isporučena nevažeća količina" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Isporučena nevažeća količina ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Detalji o grešci se mogu naći u admin sekciji" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Unesite datum" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Unesite datum" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Napomene" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Vrednost '{name}' se ne pojavljuje u formatu obrasca" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Navedena vrednost ne odgovara traženom obrascu: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Navedena primarna adresa e-pošte nije važeća." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Navedeni domen adrese e-pošte nije prihvaćen." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Registracija je onemogućena." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Isporučena nevažeća količina" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Serijski broj nije popunjen" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Dupliciraj serijski broj" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Nevažeći raspon grupe: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Raspon grupe {group} prelazi dozvoljenu količinu ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Nevažeća sekvenca grupe: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Nisu pronađeni serijski brojevi" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Broj jedinstvenih serijskih brojeva ({len(serials)}) mora odgovarati količini ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Uklonite HTML oznake iz ove vrednosti" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Greška u povezivanju" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Server je odgovorio nevažećim statusnim kodom" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Došlo je do izuzetka" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Server je odgovorio nevažećom vrednošću dužina sadržaja" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Veličina slike je prevelika" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Preuzimanje slike premašilo je maksimalnu veličinu" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Udaljeni server vratio je prazan odgovor" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Navedeni URL nije važeća slikovna datoteka" @@ -364,8 +364,8 @@ msgstr "Kineski (Tradicionalni)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Metapodaci dodatka" msgid "JSON metadata field, for use by external plugins" msgstr "Polje metapodataka JSON, za korištenje eksternih dodataka" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Neispravno formatiran obrazac" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Naveden je ključ nepoznatog formata" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Nedostaje potreban ključ formata" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Polje za reference ne može biti prazno" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Referenca mora odgovarati traženom obrascu" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Broj reference je predugačak" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Dvostruka imena ne mogu postojati pod istom nadredjenom grupom" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Nevažeći izvor" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Nevažeći izvor" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Ime" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Opis (Opciono)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Putanja" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Zabeleške (Opciono)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Podaci sa barkoda" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Podaci sa barkoda trećih lica" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Heš barkoda" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Jedinstveni hash barkoda" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Postojeći barkod pronađen" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Greška servera" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Server je zabležio grešku." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Mora biti važeći broj" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Valuta" msgid "Select currency from available options" msgstr "Odaberite valutu među dostupnim opcijama" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Nemate dozvolu za promenu ove korisničke uloge." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Samo superkorisnici mogu kreirati nove korisnike" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Nevažeća vrednost" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Datoteka" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Odaberite datoteku za učitavanje" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Nije podržan tip datoteke" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Prevelika datoteka" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Nisu pronađene kolone podataka u datoteci" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Nisu pronađeni redovi podataka u datoteci" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Nisu navedeni redovi podataka" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Nisu obezbeđene kolone podataka" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Nedostaje potrebna kolona: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicirana kolona: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Udaljena slika" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL udaljene slike" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Provera pozadinskog radnika nije uspjela" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Pozadina e-pošte nije konfigurirana" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Provere integriteta sistema InvenTree nije uspela" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Nalog za izradu" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Nalog za izradu" msgid "Build Orders" msgstr "Nalozi za izradu" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Nevažeći izbor za nadređenu verziju" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Deo u nalogu za izradu ne može se izmeniti" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Reference naloga za pravljenje" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Reference naloga za pravljenje" msgid "Reference" msgstr "Referenca" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Kratak opis izrade (nije obavezno)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Link za eksterni URL" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Otkazano" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Gotovo" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Korisnik" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Prilog" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Nedostaje datoteka" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Nedostaje eksterni link" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Izaberite datoteku za prilog" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentar" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Ime datoteke" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Postavljen" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Poslato" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Izgubljeno" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Vraćeno" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Odbijeno" msgid "Quarantined" msgstr "U karantinu" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Nasleđeni unos za praćenje zaliha" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Stavka na zalihi stvorena" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Izmenjena stavka u zalihama" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Dodeljen serijski broj" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Zalihe prebrojane" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Zalihe dodane ručno" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Zaliha ručno uklonjena" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Lokacija promenjena" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Zaliha obnovljena" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Instalisan u sklopu" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Skinuto sa sklopa" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Instalirana stavka komponente" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Uklonjena stavka komponente" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Odvoj od nadređene stavke" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Podeli podređenu stavku" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Spojene stavke zaliha" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Pretvoreno u varijaciju" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 468fcbfef9..493046b2c5 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: sv-SE\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Ogiltig enhet angiven ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Inget värde angivet" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Kunde inte konvertera {original} till {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Ogiltigt antal angivet" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Ogiltigt antal angivet ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Information om felet finns under Error i adminpanelen" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Ange datum" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Anteckningar" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Värdet '{name}' visas inte i mönsterformat" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Det angivna värdet matchar inte det obligatoriska mönstret: " @@ -132,82 +132,82 @@ msgstr "MFA Registrering är inaktiverad." msgid "The provided primary email address is not valid." msgstr "Den angivna primära e-postadressen är inte giltig." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Den angivna e-postdomänen är inte godkänd." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Registrering är stängd." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Tom serienummersträng" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Serienummret finns redan" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Ogiltigt gruppintervall: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Gruppintervall {group} överstiger tillåtet antal ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Ogiltig gruppsekvens: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Inga serienummer hittades" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Antal unika serienummer ({len(serials)}) måste matcha antal ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Ta bort HTML-taggar från detta värde" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Anslutningsfel" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Servern svarade med ogiltig statuskod" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Undantag inträffade" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Servern svarade med ogiltigt innehållslängdsvärde" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Bilden är för stor" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Nedladdning av bilder överskred maximal storlek" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Fjärrservern returnerade tomt svar" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Angiven URL är inte en giltig bildfil" @@ -364,8 +364,8 @@ msgstr "Kinesiska (Traditionell)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Logga in på appen" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Metadata för plugin" msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata fält, för användning av externa plugins" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Felaktigt formaterat mönster" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Okänd formatnyckel angiven" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Obligatorisk formatnyckel saknas" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Textfältet kan inte lämnas tomt" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Referensen måste matcha obligatoriskt mönster" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Referensnumret är för stort" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Namn" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Sökväg" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Markdown anteckningar (valfritt)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Streckkodsdata" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Tredje parts streckkodsdata" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Streckkodsdata" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Unik hash med streckkodsdata" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Befintlig streckkod hittades" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Serverfel" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Valuta" msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Användarnamn" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Förnamn" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "Förnamn på användaren" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Efternamn" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "Efternamn på användaren" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "Avsändarens E-postadress" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "Personal" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "Har den här användaren behörighet för personal" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "Superanvändare" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "Är den här användaren en superanvändare" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "Är den här användaren en superanvändare" msgid "Active" msgstr "Aktiv" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "Är detta användarkonto aktivt" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Du har inte behörighet att ändra denna användarrollen." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Endast superanvändare kan skapa nya användare" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Ditt konto har skapats." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Använd funktionen för lösenordsåterställning för att logga in" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Välkommen till InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Välj fil för uppladdning" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Filtypen stöds inte" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Filen är för stor" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Inga kolumner hittades i filen" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Inga rader hittades i filen" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Inga rader angivna" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Inga datakolumner har angetts" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Saknar obligatorisk kolumn: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicerad kolumn: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Fjärransluten bild" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL för fjärrbildsfil" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Backend för e-post är inte konfigurerad" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "InvenTree systemhälsokontroll misslyckades" @@ -691,122 +691,122 @@ msgstr "Ogiltig fysisk enhet" msgid "Not a valid currency code" msgstr "Inte en giltig valutakod" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Överskott värde får inte vara negativt" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Överskott får inte överstiga 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Ogiltigt värde för överskott" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Redigera användarinformation" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Ställ in lösenord" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Lösenorden måste matcha" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Felaktigt lösenord angivet" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Systeminformation" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "Överordnat Bygge" +msgstr "Föregående tillverkning" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Utfärdad av" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" -msgstr "Byggnationen måste avbrytas innan den kan tas bort" +msgstr "Tillverkningen måste avbrytas innan den kan tas bort" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Valfri" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Spårad" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "Testbar" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Allokerad" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Allokerad" msgid "Available" msgstr "Tillgänglig" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Byggorder" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Byggorder" msgid "Build Orders" msgstr "Byggordrar" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Ogiltigt val för överordnad bygge" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" -msgstr "Byggorderreferens" +msgstr "Tillverknings order referens" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Byggorderreferens" msgid "Reference" msgstr "Referens" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" -msgstr "Byggorder till vilken detta bygge är tilldelad" +msgstr "Tillverknings order till vilken detta produkt är tilldelad" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Del" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" -msgstr "Välj del att bygga" +msgstr "Välj del att tillverka" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Försäljningsorderreferens" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Källa Plats" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Välj plats att ta lager från för detta bygge (lämna tomt för att ta från någon lagerplats)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Destinationsplats" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Välj plats där de färdiga objekten kommer att lagras" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" -msgstr "Bygg kvantitet" +msgstr "Tillverkat antal" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Antal lagerobjekt att bygga" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Slutförda objekt" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Antal lagerposter som har slutförts" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" -msgstr "Byggstatus" +msgstr "Tillverknings status" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" -msgstr "Bygg statuskod" +msgstr "Tillverkning statuskod" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Skapad" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Datum för slutförande" -#: build/models.py:344 +#: build/models.py:345 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." +msgstr "Måldatum för färdigställande. Tillverkningen kommer att förfallas efter detta datum." -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Slutförandedatum" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "slutfört av" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Utfärdad av" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" -msgstr "Användare som utfärdade denna byggorder" +msgstr "Användare som utfärdade denna tillverknings order" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Ansvarig" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Extern länk" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Länk till extern URL" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "Projektkod" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "Byggorder {build} har slutförts" +msgstr "Tillverknings order {build} har slutförts" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" -msgstr "En byggorder har slutförts" +msgstr "En tillverknings order har slutförts" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Antal" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Installera till" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Destination lagervara" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Bygg utdata" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Byggutdata matchar inte överordnad version" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Ange serienummer för att tillverkade produkter" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Ange serienummer för att tillverkade produkter" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Plats" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "En lista över tillverkade produkter måste anges" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Lagerplats för skrotade produkter" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Ignorera alla lagerallokeringar för skrotade produkter" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Plats för färdiga produkter" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Status" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Slutför utfall om lager inte har tilldelats fullt ut" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Ta bort ofullständiga produkter" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Ta bort eventuella produkter som inte har slutförts" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Acceptera att det önskade antalet produkter som inte har slutförts" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "Tillverknings ordern är ofullständig" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Serienummer" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Avbruten" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Slutför" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Slutförd produktion" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Slutförd produktion" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Försäljningsorder" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Mål" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Skapad" @@ -2120,7 +2129,7 @@ msgstr "Ny byggorder" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Ofullständig produktion" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "{name.title()} Fil" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Unik projektkod" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Projektbeskrivning" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Ingen grupp" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Omstart krävs" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Serverinstans (Namn)" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Företagsnamn" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Internt företagsnamn" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "Bas-URL" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "Bas-URL för serverinstans" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "dagar" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Ladda ner från URL" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Tillåt nedladdning av bilder och filer från extern URL" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Kräv bekräftelse" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Kräv uttrycklig användarbekräftelse för vissa åtgärder." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Stöd för streckkoder" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Mall" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Delar är virtuella som standard" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Visa import i vyer" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Visa importguiden i vissa delvyer" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Interna priser" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Debugläge" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Sidstorlek" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Aktivera testrapporter" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Förhindra produktion från att slutföras tills alla nödvändiga tester är klara" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Aktivera registrering" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Tillåtna domäner" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "Aktivera projektkoder" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Visa nyheter" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Datumformat" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Användare" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "Länk" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "Bild" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Bilaga" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Saknad fil" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Extern länk saknas" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "Filstorlek" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "Färg" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "Schemalagda uppgifter" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Filnamn" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Företag" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Företag" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Företagsbeskrivning" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Webbplats" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Telefonnummer" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Adress" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "Adresser" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "Välj företag" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "Primär adress" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "Adressrad 1" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "Adressrad 2" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Postnummer" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "Land" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "Tillverkare" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "Leverantör" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "Företagsnamn" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "Radera bild" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Kund" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "Ny kund" msgid "New Company" msgstr "Nytt företag" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Placerad" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "Kolumner" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "Kolumn" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Skickad" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Leveransdatum" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "Leverantörsnamn" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Streckkod" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Förlorad" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Återlämnad" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Nyckelord" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "Kategorinamn" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Kategori" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "Ikon" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "Ikon (valfritt)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "Standardleverantör" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Datum" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "Välj kategori" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "Redigera" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "Senast uppdaterad" @@ -8498,8 +8616,8 @@ msgstr "Ingen åtgärd specificerad" msgid "No matching action found" msgstr "Ingen matchande åtgärd hittades" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "Statuskod" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Avvisad" msgid "Quarantined" msgstr "I karantän" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Spårningspost för äldre lager" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Lagerpost skapad" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Redigerade lagerpost" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Tilldelade serienummer" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Lagersaldo beräknat" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Lagerpost manuellt tillagd" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Lagerpost manuellt borttagen" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Platsen har ändrats" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Installerad i montering" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Borttagen från montering" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Installerat komponentobjekt" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Tog bort komponentobjekt" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Dela från överordnat objekt" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Dela underordnat objekt" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Sammanfogade lagerposter" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Konverterad till variant" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Bygg orderutgång skapad" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Bygg orderutgång slutförd" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Konsumeras av byggorder" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Skickat till kund" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Returnerad från kund" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Bygg" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Radera" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "Inga projektkoder hittades" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "Det finns ofullständiga produktion kvar för den här tillverknings ordern" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "Denna tillverknings order kan inte slutföras eftersom det finns ofullständigt utfall" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "Produktionerna måste genereras individuellt" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Ange serienummer för att generera flera enskild produktion" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "Vald produktion" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "Valda produktion markeras som färdiga" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "Slutförd produktion" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "Valda produktion markeras som skrotade" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "Skrota tillverkad produktion" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "Vald produktion kommer att raderas" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "Radera produktion" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "Slutförd produktion" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "Skrot utfall" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "Radera utfall" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "produktion" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "Inga aktiva produktioner hittades" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "Tilldela spårade artiklar mot individuella produkter" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "Ingen kategori" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "Visa som lista" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "Inga underkategorier hittades" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Lägg till" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "Inga ändringar" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Ja" msgid "No" msgstr "Nej" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Användare" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 9af682f34c..c12d73056b 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: th\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "ไม่พบ API endpoint" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "ป้อนวันที่" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "ป้อนวันที่" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "หมายเหตุ" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "หมายเลขซีเรียลซ้ำกัน" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "ไม่พบหมายเลขซีเรียล" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "การเชื่อมต่อขัดข้อง" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "ไฟล์รูปภาพมีขนาดใหญ่เกินไป" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "ข้อมูลเมตาของปลั๊กอิน" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "ชื่อ" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "คำอธิบาย" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "ข้อมูลบาร์โค้ด" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "บาร์โค้ดนี้มีในระบบแล้ว" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "สกุลเงิน" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "ยินดีต้อนรับเข้าสู่ Inventree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "ไฟล์ข้อมูล" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "เลือกไฟล์ข้อมูลที่จะอัปโหลด" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "ไฟล์มีขนาดใหญ่เกินไป" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "แก้ไขข้อมูลสมาชิก" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "ตั้งรหัสผ่าน" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "รหัสผ่านต้องตรงกัน" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "ป้อนรหัสผ่านไม่ถูกต้อง" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "ข้อมูลระบบ" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "เกี่ยวกับ Inventree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "ออกโดย" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "สถานที่" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "สถานะ" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "ยกเลิกแล้ว" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "สำเร็จแล้ว" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "ผู้ใช้งาน" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "ลิงก์" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "ไฟล์แนบ" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "ไม่พบไฟล์" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "ความคิดเห็น" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "ชื่อไฟล์" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "จัดส่งแล้ว" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "สูญหาย" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "ส่งคืนแล้ว" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "ถูกปฏิเสธ" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "กำหนดหมายเลขซีเรียลแล้ว" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "นับสต็อกแล้ว" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "เพิ่มสต็อกแล้ว" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "ลบสต็อกแล้ว" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "เปลี่ยนสถานที่แล้ว" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "อัพเดทสต็อกแล้ว" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "จัดส่งให้ลูกค้าแล้ว" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index c7807a62b9..40b78c1a98 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-27 22:17\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: tr\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Kullanıcının bu modeli görüntüleme izni yok" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "Geçersiz ürün girildi ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Değer verilmemiş" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "{original} birimi {unit} birimine dönüştürülemedi" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Geçersiz miktar sağlandı" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Geçersiz miktar sağlandı({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Hata detaylarını admin panelinde bulabilirsiniz" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Tarih giriniz" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Notlar" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "'{name}' değeri desen formatında yer almıyor" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Sağlanan değer gerekli kalıpla eşleşmiyor: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Sağlanan e-posta adresi geçerli değil." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Sağlanan e-posta alanı onaylanmadı." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Kayıt devre dışı." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Boş seri numarası dizesi" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Yinelenen seri" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Geçersiz grup aralığı: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Grup aralığı {group}, izin verilen miktarı aşmaktadır ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Geçersiz grup aralığı: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Seri numarası bulunamadı" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Benzersiz seri numaralarının sayısı ({len(serials)}) ile miktarın ({expected_quantity}) eşleşmesi gerekmektedir" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Bu değerden HTML etiketlerini kaldır" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Bağlantı hatası" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Sunucu geçersiz durum kodu ile cevap verdi" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "İstisna oluştu" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Sunucu geçersiz Content-Length değeriyle yanıt verdi" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Resim boyutu çok büyük" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Resim indirme boyutu izin verilenden büyük" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Uzak sunucu boş cevap döndü" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" @@ -364,8 +364,8 @@ msgstr "Çince (Geleneksel)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Uygulamaya giriş yap" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Plugin Metaverileri" msgid "JSON metadata field, for use by external plugins" msgstr "Harici eklentiler tarafından kullanım için JSON metadata alanı" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Yanlış biçimlendirilmiş desen" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Belirtilen bilinmeyen format anahtarı" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Gerekli format anahtarı eksik" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Referans alanı boş olamaz" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Referans {pattern} deseniyle mutlaka eşleşmeli" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Referans sayısı çok fazla" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Aynı kaynak altında birden fazla aynı isim kullanılamaz" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Adı" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Yol" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Markdown notları (isteğe bağlı)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Barkod Verisi" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Üçüncü parti barkod verisi" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Barkod Hash" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "Barkod verisinin benzersiz hash'i" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Var olan barkod bulundu" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Sunucu Hatası" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Bir hafta sunucu tarafından kayıt edildi." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Para birimi" msgid "Select currency from available options" msgstr "Var olan seçeneklerden bir döviz birimi seçin" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Bu kullanıcı rolünü değiştirmek için izniniz yok." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Sadece süper kullanıcılar yeni kullanıcı oluşturabilir" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Kullanıcı hesabınız oluşturulmuştur." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Giriş yapmak için lütfen şifre sıfırlama fonksiyonunu kullanınız" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "InvenTree'ye Hoşgeldiniz" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Uzaktan Görüntüler" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "Uzaktan görüntü dosya URL'si" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "E-posta arka ucu yapılandırılmadı" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "InvenTree sistem sağlık kontrolü başarısız" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "Geçerli bir para birimi kodu değil" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Fazlalık değeri negatif olmamalıdır" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Fazlalık %100'ü geçmemelidir" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Kullanıcı Bilgisini Düzenle" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Şifre Belirle" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Parola alanları eşleşmelidir" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Sistem Bilgisi" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "InvenTree Hakkında" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Veren" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Montaj" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "Mevcut" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Yapım İşi Emri" msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Yapım İşi Emri Referansı" msgid "Reference" msgstr "Referans" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Parça" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Veren" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "Proje Kodu" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:973 +#: build/models.py:974 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:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Miktar" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Seri Numaraları" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Yapım işi çıktısı için seri numaraları girin" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Konum" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Durum" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Gerekli yapım işi miktarı tamamlanmadı" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Paketleme" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Seri Numara" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Takip Edilebilir" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "İptal edildi" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Tamamlandı" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Sipariş Emri" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,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:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Hedef" @@ -1981,13 +1990,13 @@ msgstr "Hedef konumu belirtilmedi" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Toplu" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Oluşturuldu" @@ -2120,7 +2129,7 @@ msgstr "Yeni Yapım İşi Emri" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Tamamlanmamış Çıktılar" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "{name.title()} Dosya" msgid "Select {name} file to upload" msgstr "{name} dosyasını yüklemek için seçin" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "günler" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Şablon" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1490 +#: common/models.py:1492 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:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Bileşen" -#: common/models.py:1496 +#: common/models.py:1498 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:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Sanal" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Kullanıcı" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Fiyat" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "Bağlantı" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "Resim" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Ek" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Eksik dosya" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Yorum" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Dosya adı" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "Alanları Eşleştir" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Şirketler" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "Şirket web sitesi" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Telefon numarası" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "İletişim telefon numarası" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "İletişim" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Adres" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Parça seçin" msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Üretici seçin" msgid "MPN" msgstr "ÜPN" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Değer" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Tedarikçi Parçası" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Not" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "çoklu" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Müşteri" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -5022,99 +5123,107 @@ msgstr "Yeni Müşteri" msgid "New Company" msgstr "Yeni Şirket" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Sipariş verildi" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Sevk edildi" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "Kayıp" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "İade" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "İşlemler" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "DPN" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -6452,23 +6562,23 @@ msgstr "Minimum Stok" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Parça adı" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:999 +#: part/models.py:1011 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:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:1161 +#: part/models.py:1173 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:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 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:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Etkin" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Gerekli" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 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:4314 +#: part/models.py:4327 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:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "Son Seri Numarası" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "İşlem belirtilmedi" msgid "No matching action found" msgstr "Eşleşen eylem bulunamadı" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Barkod verisi için eşleşme bulunamadı" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Seri No" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Stok Konumları" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "Bu stok kalemi için tedarikçi parçası seçin" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "Reddedildi" msgid "Quarantined" msgstr "Karantinaya alındı" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Eski stok izleme girişi" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Stok kalemi oluşturuldu" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Düzenlenen stok kalemi" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Atanan seri numarası" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Stok sayıldı" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Stok manuel olarak eklendi" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Stok manuel olarak çıkarıldı" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Konum değişti" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Stok Güncellendi" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Montajda kullanıldı" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Montajdan çıkarıldı" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Bileşen ögesinde kullanıldı" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Bileşen ögesinden çıkarıldı" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Üst ögeden ayır" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Alt ögeyi ayır" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Yapım emri çıktısı oluşturuldu" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Yapım emri çıktısı tamamlandı" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Müşteriye gönderildi" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Müşteriden geri döndü" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Yapım İşi" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Konum ayarlanmadı" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Yeni Konum" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Evet" msgid "No" msgstr "Hayır" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Kullanıcılar" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "Bu gruba atanacak kullanıcıyı seçin" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Kullanıcı bilgisi" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Yetkiler" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "Önemli tarihler" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Grup" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Görünüm" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Değiştir" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Parçaları silme izni" diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index a81078dc8c..1284e27810 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "Кінцева точка API не знайдена" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "У користувача немає дозволу на перегляд цієї моделі" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Значення не вказане" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Не вдалося перетворити {original} на {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Невірна кількість поставляється" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Невірна кількість поставляється ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Деталі помилки можна знайти на панелі адміністратора" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Введіть дату" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Введіть дату" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Нотатки" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Вказана основна адреса електронної пошти недійсна." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Наданий домен електронної пошти не затверджено." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Реєстрацію вимкнено." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Невірна кількість" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Пустий серійний номер" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "Китайська (Традиційна)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Увійти в додаток" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Шлях" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Ім`я" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Прізвище" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "Адреса електронної пошти користувача" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "Персонал" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Деталь" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Обрати деталь для створення" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index c1dcb07e7e..4432dac6da 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:09\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: vi\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "API endpoint không tồn tại" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "Người dùng không được phân quyền xem mẫu này" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "Chưa cung cấp giá trị" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Không thể chuyển đổi {original} sang {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "Số lượng cung cấp không hợp lệ" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Số lượng cung cấp không hợp lệ ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "Chi tiết lỗi có thể được tìm thấy trong bảng quản trị" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "Nhập ngày" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "Nhập ngày" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "Ghi chú" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Giá trị '{name}' không xuất hiện ở định dạng mẫu" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "Giá trị được cung cấp không khớp với mẫu bắt buộc: " @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "Địa chỉ email chính đã cung cấp không hợp lệ." -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "Miền email được cung cấp không được phê duyệt." -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "Đăng ký bị vô hiệu hóa." -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "Chuỗi số sê-ri trống" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "Trùng lặp sê-ri" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Phạm vi nhóm không hợp lệ: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Khoảng nhóm {group} vượt cho phép số lượng ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Thứ tự nhóm không hợp lệ: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "Không tìm thấy số sê-ri" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Số sê ri duy nhất ({len(serials)}) phải phù hợp số lượng ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "Xóa thẻ HTML từ giá trị này" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "Lỗi kết nối" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "Máy chủ phản hồi với mã trạng thái không hợp lệ" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "Xảy ra Exception" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "Máy chủ đã phản hồi với giá trị Content-Length không hợp lệ" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "Hình ảnh quá lớn" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "Tải xuống hình ảnh vượt quá kích thước tối đa" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "Máy chủ trả về phản hồi trống" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "URL được cung cấp không phải là tệp hình ảnh hợp lệ" @@ -364,8 +364,8 @@ msgstr "Tiếng Trung (Phồn thể)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Đăng nhập vào ứng dụng" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "Phụ trợ siêu dữ liệu" msgid "JSON metadata field, for use by external plugins" msgstr "Trường siêu dữ liệu JSON, được sử dụng bởi phụ trợ bên ngoài" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "Mẫu được định dạng không thích hợp" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "Khóa định dạng không rõ ràng đã được chỉ định" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "Thiếu khóa định dạng cần thiết" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "Trường tham chiếu không thể rỗng" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "Tham chiếu phải phù hợp với mẫu yêu cầu" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "Số tham chiếu quá lớn" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "Lựa chọn sai" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "Tên" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "Tên" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "Đường dẫn" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Ghi chú markdown (không bắt buộc)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "Dữ liệu mã vạch" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "Dữ liệu mã vạch của bên thứ ba" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "Dữ liệu băm mã vạch" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 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:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "Mã vạch đã tồn tại" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "Lỗi máy chủ" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "Tiền tệ" msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "Tên người dùng" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Tên" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Họ" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "Hoạt động" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "Bạn không có quyền thay đổi vai trò của người dùng này." -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "Chỉ có siêu người dùng là có thể tạo người dùng mới" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "Tài khoản của bạn đã được tạo." -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "Xin hãy sử dụng chức năng tạo lại mật khẩu để đăng nhập" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "Chào mừng đến với InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "Giá trị không hợp lệ" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "Tập tin dữ liệu" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "Chọn tệp tin để tải lên" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "Loại tệp tin không được hỗ trợ" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "Tệp tin quá lớn" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "Không tìm thấy cột nào trong tệp tin" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 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:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "Chưa có dữ liệu" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "Chưa cung cấp cột dữ liệu" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Thiếu cột bắt buộc: '{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Nhân bản cột: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "Hình ảnh từ xa" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "URL của tệp hình ảnh bên ngoài" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "Nhân công chạy ngầm kiểm tra thất bại" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "Chưa cấu hình dịch vụ gửi email" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "Kiểm tra tình trạng hệ thống InvenTree thất bại" @@ -691,122 +691,122 @@ msgstr "Đơn vị vật lý không hợp lệ" msgid "Not a valid currency code" msgstr "Mã tiền tệ không hợp lệ" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "Giá trị hàng hóa dư không thể là số âm" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "Hàng hóa dư thừa không thể vượt quá 100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Giá trị không hợp lệ cho hàng hóa dư thừa" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Sửa thông tin người dùng" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Đặt Mật khẩu" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "Mật khẩu phải trùng khớp" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "Nhập sai mật khẩu" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "Thông tin hệ thống" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "Giới thiệu" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Phiên bản cha" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "Phát hành bởi" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 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:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "Tuỳ chọn" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "Lắp ráp" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "Đã theo dõi" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "Đã cấp phát" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "Đã cấp phát" msgid "Available" msgstr "Có sẵn" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "Tạo đơn hàng" msgid "Build Orders" msgstr "Tạo đơn hàng" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "Lựa chọn sai cho bản dựng cha" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "Sản phẩm đơn đặt bản dựng không thể thay đổi được" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "Tham chiếu đơn đặt bản dựng" msgid "Reference" msgstr "Tham chiếu" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "Mô tả ngắn về phiên bạn (Tùy chọn)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Đơn đặt bản dựng với bản dựng này đã được phân bổ" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "Nguyên liệu" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "Chọn sản phẩm để xây dựng" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "Đơn đặt bán hàng với bản dựng này đã được phân bổ" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Địa điểm nguồn" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Chọn địa điểm để lấy trong kho cho bản dựng này (để trống để lấy từ bất kỳ vị trí kho nào)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "Địa điểm đích" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "Chọn địa điểm nơi hàng hóa hoàn thiện sẽ được lưu kho" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "Xây dựng số lượng" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "Số kho hàng để dựng" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "Những mục hoàn thành" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "Số sản phẩm trong kho đã được hoàn thiện" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "Trnạg thái bản dựng" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "Mã trạng thái bản dựng" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "Mã lô hàng" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Ngày tạo" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "Ngày hoàn thành mục tiêu" -#: build/models.py:344 +#: build/models.py:345 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:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "hoàn thành bởi" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "Cấp bởi" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "Người dùng người đã được phân công cho đơn đặt bản dựng này" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "Chịu trách nhiệm" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản dựng này" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Liên kết bên ngoài" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "Độ ưu tiên" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "Độ quan trọng của đơn đặt bản dựng" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "Độ quan trọng của đơn đặt bản dựng" msgid "Project Code" msgstr "Mã dự án" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "Mã dự án cho đơn đặt bản dựng này" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Đơn đặt bản dựng {build} đã được hoàn thành" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "Một đơn đặt bản dựng đã được hoàn thành" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "Không có đầu ra bản dựng đã được chỉ ra" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "Đầu ra bản dựng đã được hoàn thiện" -#: build/models.py:973 +#: build/models.py:974 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:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Số lượng không thể lớn hơn số lượng đầu ra" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "Dựng đối tượng" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "Dựng đối tượng" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "Dựng đối tượng" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "Yêu cầu số lượng để dựng đơn đặt" -#: build/models.py:1585 +#: build/models.py:1586 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:1594 +#: build/models.py:1595 #, 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:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Số lượng phân bổ phải lớn hơn 0" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "Số lượng phải là 1 cho kho sê ri" -#: build/models.py:1675 +#: build/models.py:1676 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:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "Kho hàng" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "Kho hàng gốc" -#: build/models.py:1761 +#: build/models.py:1762 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:1769 +#: build/models.py:1770 msgid "Install into" msgstr "Cài đặt vào" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "Kho hàng đích" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "Tên sản phẩm" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "Đầu ra xây dựng không hợp với bản dựng cha" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "Đầu ra sản phẩm không phù hợp với bản dựng đơn đặt hàng" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "Đầu ra bản dựng này đã được hoàn thành" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "Đầu ra bản dựng này chưa được phân bổ đầy đủ" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "Điền số lượng cho đầu ra bản dựng" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "Số lượng nguyên dương cần phải điền cho sản phẩm có thể theo dõi" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cần nhập số lượng nguyên dương, bởi vì hóa đơn vật liệu chứa sản phẩm có thể theo dõi" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "Số sê-ri" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "Nhập vào số sêri cho đầu ra bản dựng" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "Nhập vào số sêri cho đầu ra bản dựng" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "Địa điểm" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "Số sêri tự cấp" -#: build/serializers.py:331 +#: build/serializers.py:375 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:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 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ệ" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "Danh sách đầu ra bản dựng phải được cung cấp" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "Vị trí kho cho đầu ra phế phẩm" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "Hủy phân bổ" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "Hủy bất kỳ phân kho nào cho đầu ra phế phẩm" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "Lý do loại bỏ đầu ra bản dựng" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "Trạng thái" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "Chấp nhận phân kho dang dở" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "Hoàn hiện đầu ra nếu kho chưa được phân bổ hết chỗ trống" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "Xóa toàn bộ đầu ra chưa hoàn thành" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "Xóa bất kỳ đầu ra bản dựng nào chưa được hoàn thành" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "Chưa được cấp phép" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "Chấp nhận trạng thái tiêu hao bởi đơn đặt bản dựng này" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "Phân bổ trước khi hoàn thiện đơn đặt bản dựng này" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "Kho quá tải" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Bạn muốn thế nào để xử lý hàng trong kho được gán thừa cho đơn đặt bản dựng" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "Một vài hàng hóa đã được phân bổ quá thừa" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "Chấp nhận chưa phân bổ được" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Chấp nhận hàng hóa không được phân bổ đầy đủ vào đơn đặt bản dựng này" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "Kho được yêu cầu chưa được phân bổ hết không gian" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "Chấp nhận không hoàn thành" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "Chấp nhận số yêu cầu của đầu ra bản dựng chưa được hoàn thành" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "Số lượng bản dựng được yêu cầu chưa được hoàn thành" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "Đơn đặt bản dựng có đầu ra chưa hoàn thiện" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "Lộ giới" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "Đầu ra bản dựng phải chỉ đến bản dựng tương ứng" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "Mục chi tiết bản dựng" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part phải trỏ đến phần tương tự của đơn đặt bản dựng" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Số lượng có sẵn ({q}) đã bị vượt quá" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "Đầu ra bản dựng phải được xác định cho việc phân sản phẩm được theo dõi" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Đầu ra bản dựng không thể chỉ định cho việc phân sản phẩm chưa được theo dõi" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "Hàng hóa phân bổ phải được cung cấp" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Vị trí kho nơi sản phẩm được lấy ra (để trống để lấy từ bất kỳ vị trí nào)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "Ngoại trừ vị trí" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "Không bao gồm hàng trong kho từ vị trí đã chọn này" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "Kho trao đổi" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Hàng trong kho thuộc nhiều vị trí có thể dùng thay thế được cho nhau" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "Kho thay thế" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "Cho phép phân kho sản phẩm thay thế" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "Mục tùy chọn" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "Phân bổ các mục hóa đơn vật liệu tùy chọn đến đơn đặt bản dựng" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "Mã số nhà sản xuất" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "Tên địa điểm" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "Đóng gói" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID sản phẩm" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "IPN sản phẩm" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "Mô tả sản phẩm" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "Số sê-ri" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "Số lượng sẵn có" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "Có thể theo dõi" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "Mục BOM" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "Bật đơn hàng" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Số hàng tồn" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "Đã hủy" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "Hoàn thành" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "Kho được yêu cầu cho đặt hàng bản dựng" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "Đơn đặt bản dựng quá hạn" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Đặt hàng bản dựng {bo} đang quá hạn" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Kho không được phân bổ đầy đủ với yêu cầu bản dựng này" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "Đầu ra hoàn thiện" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "Đầu ra hoàn thiện" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "Đơn đặt hàng" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "Độ ưu tiên" @@ -1968,7 +1977,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:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "Đích đến" @@ -1981,13 +1990,13 @@ msgstr "Địa điểm đích chưa được xác định" msgid "Allocated Parts" msgstr "Sản phẩm đã phân bổ" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "Hàng loạt" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "Đã tạo" @@ -2120,7 +2129,7 @@ msgstr "Tạo đơn đặt bản dựng" msgid "Build Order Details" msgstr "Chi tiết đơn đặt bản dựng" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "Đầu ra chưa hoàn thiện" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "Tập tin {name.title()}" msgid "Select {name} file to upload" msgstr "Chọn tập tin {name} để tải lên" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "Đã cập nhật" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "Nhãn thời gian của lần cập cuối cùng" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "Mã dự án duy nhất" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "Mô tả dự án" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "Người dùng hoặc nhóm có trách nhiệm với dự án này" -#: common/models.py:783 +#: common/models.py:785 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:787 +#: common/models.py:789 msgid "Settings value" msgstr "Giá trị cài đặt" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "Giá trị đã chọn không hợp lệ" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "Giá trị phải là kiểu boolean" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "Giá trị phải là một số nguyên dương" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "Chuỗi khóa phải duy nhất" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "Không có nhóm" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "Cần khởi động lại" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "Một thiết lập đã bị thay đổi yêu cầu khởi động lại máy chủ" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "Chuyển dữ liệu chờ xử lý" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "Số đợt nâng cấp cơ sở dữ liệu chờ xử lý" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "Tên thực thể máy chủ" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "Mô tả chuỗi cho thực thể máy chủ" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "Sử dụng tên thực thể" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "Sử dụng tên thực thể trên thanh tiêu đề" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "Cấm hiển thị `giới thiệu`" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "Chỉ hiển thị cửa sổ `giới thiệu` với siêu người dùng" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "Tên công ty" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "Tên công ty nội bộ" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "URL cơ sở" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "URL cơ sở cho thực thể máy chủ" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "Tiền tệ mặc định" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "Chọn tiền tệ chính khi tính giá" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "Tần suất cập nhật tiền tệ" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Mức độ thường xuyên để cập nhật tỉ giá hối đoái (điền 0 để tắt)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "ngày" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "Phần mở rộng cập nhật tiền tệ" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "Phần mở rộng cập nhật tiền tệ được sử dụng" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "Tải về từ URL" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "Cho phép tải ảnh và tệp tin từ xa theo URL bên ngoài" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "Giới hạn kích thước tải xuống" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "Kích thước tải xuống tối đa với hình ảnh từ xa" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "User-agent được dùng để tải xuống theo URL" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Cho phép ghi đè user-agent được dùng để tải về hình ảnh và tệp tin từ xa theo URL bên ngoài (để trống nghĩa là dùng mặc định)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "Yêu cầu xác nhận" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "Yêu cầu người dùng xác nhận rõ ràng với một số chức năng nhất định." -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "Cấp độ cây" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Độ sâu cây mặc định cho màn hình cây. Cấp độ sâu hơn sẽ sử dụng kỹ thuật tải chậm nếu cần thiết." -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "Thời gian kiểm tra bản cập nhật" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "Mức độ thường xuyên để kiểm tra bản cập nhật (điền 0 để tắt)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "Sao lưu tự động" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "Bật tính năng sao lưu tự động cơ sở dữ liệu và tệp tin đa phương tiện" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "Khoảng thời gian sao lưu tự động" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "Xác định số ngày giữa các kỳ sao lưu tự động" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "Khoảng thời gian xóa tác vụ" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "Kết quả tác vụ chạy ngầm sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "Khoảng thời gian xóa nhật ký lỗi" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "Nhật ký lỗi sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "Khoảng thời gian xóa thông báo" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "Thông báo sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Hỗ trợ mã vạch" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "Bật hỗ trợ máy quét mã vạch trong giao diện web" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "Độ trễ quét mã vạch" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "Thời gian trễ xử lý đầu đọc mã vạch" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "Hỗ trợ mã vạch qua webcam" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "Cho phép quét mã vạch qua webcam bên trong trình duyệt" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "Phiên bản Sản phẩm" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "Bật trường phiên bản cho sản phẩm" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "Mẫu IPN" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "Mẫu dùng nhanh phổ biến dành cho tìm IPN sản phẩm" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "Cho phép trùng IPN" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "Cho phép nhiều sản phẩm dùng IPN giống nhau" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "Cho phép sửa IPN" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "Cho phép đổi giá trị IPN khi sửa một sản phẩm" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "Sao chép dữ liệu BOM của sản phẩm" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "Sao chép dữ liệu BOM mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "Sao chép dữ liệu tham số sản phẩm" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "Sao chép dữ liệu tham số mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "Chép thông tin kiểm thử sản phẩm" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "Sao chép dữ liệu kiểm thử mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "Sao chéo mẫu tham số danh mục" -#: common/models.py:1478 +#: common/models.py:1480 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:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "Mẫu" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "Sản phẩm là mẫu bởi mặc định" -#: common/models.py:1490 +#: common/models.py:1492 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:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Thành phần" -#: common/models.py:1496 +#: common/models.py:1498 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:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "Có thể mua" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "Có thể bán" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "Sản phẩm mặc định có thể bán được" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "Ảo" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "Sản phẩm mặc định là số hóa" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "Hiển thị Nhập liệu trong khung xem" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "Hiển thị đồ thuật nhập dữ liệu trong một số khung nhìn sản phẩm" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "Hiển thị sản phẩm liên quan" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "Hiện sản phẩm liên quan cho 1 sản phẩm" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "Số liệu tồn kho ban đầu" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "Cho phép tạo tồn kho ban đầu khi thêm 1 sản phẩm mới" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "Dữ liệu nhà cung cấp ban đầu" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Cho phép tạo dữ liệu nhà cung cấp ban đầu khi thêm 1 sản phẩm mới" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "Định dạng tên sản phẩm hiển thị" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "Định dạng để hiển thị tên sản phẩm" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "Biểu tượng mặc định của danh mục sản phẩm" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "Biểu tượng mặc định của danh mục sản phẩm (để trống nghĩa là không có biểu tượng)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Bắt buộc đơn vị tham số" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Nếu đơn vị được cung cấp, giá trị tham số phải phù hợp với các đơn vị xác định" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối thiểu" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Số vị trí thập phân tối thiểu cần hiển thị khi tạo dữ liệu giá" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối đa" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Số vị trí thập phân tối đa cần hiển thị khi tạo dữ liệu giá" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "Sử dụng giá bán nhà cung cấp" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Bao gồm giá phá vỡ cả nhà cung cấp trong tính toán giá tổng thể" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "Ghi đè lịch sử mua hàng" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Giá đơn hàng đặt mua trước đó ghi đè giá phá vỡ của nhà cung cấp" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "Sử dụng giá hàng hóa trong kho" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Dùng giá bán từ dữ liệu kho nhập vào thủ công đối với bộ tính toán giá bán" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "Tuổi giá kho hàng" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Loại trừ hàng hóa trong kho cũ hơn số ngày ngày từ bảng tính giá bán" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "Sử dụng giá biến thể" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "Bao gồm giá biến thể trong bộ tính toán giá tổng thể" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "Chỉ các biến thể hoạt động" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "Chỉ sử dụng sản phẩm biến thể hoạt động để tính toán giá bán biến thể" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "Tần suất tạo lại giá" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "Số ngày trước khi giá sản phẩm được tự động cập nhật" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "Giá nội bộ" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "Bật giá nội bộ cho sản phẩm" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "Ghi đè giá nội bộ" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "Nếu khả dụng, giá nội bộ ghi đè tính toán khoảng giá" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "Bật in tem nhãn" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "Bật chức năng in tem nhãn từ giao diện web" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "DPI hỉnh ảnh tem nhãn" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Độ phân giải DPI khi tạo tệp hình ảnh để cung cấp cho plugin in ấn tem nhãn" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "Bật báo cáo" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "Cho phép tạo báo cáo" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "Chế độ gỡ lỗi" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "Tạo báo cáo trong chế độ gỡ lỗi (đầu ra HTML)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "Khổ giấy" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "Kích thước trang mặc định cho báo cáo PDF" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "Bật báo cáo kiểm thử" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "Cho phép tạo báo cáo kiểm thử" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "Đính kèm báo cáo kiểm thử" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Khi in một báo cáo kiểm thử, đính kèm một bản sao của báo cáo kiểm thử với hàng trong kho đã được kết hợp" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Sê ri toàn cục duy nhất" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "Số sê ri cho hàng trong kho phải là duy nhất trong toàn hệ thống" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "Tự động điền số sê ri" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "Tự động điền số sê ri vào biểu mẫu" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "Xóa kho đã hết hàng" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "Mẫu sinh mã theo lô" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "Mẫu tạo mã theo lô mặc định cho hàng trong kho" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "Quá hạn trong kho" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "Bật chức năng quá hạn tồn kho" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "Bán kho quá hạn" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "Cho phép bán hàng kho quá hạn" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "Thời gian hàng cũ trong kho" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "Số ngày hàng trong kho được xác định là cũ trước khi quá hạn" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "Dựng kho quá hạn" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "Cho phép xây dựng với kho hàng quá hạn" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "Kiểm soát sở hữu kho" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "Bật chức năng kiểm soát sở hữu kho với địa điểm và hàng trong kho" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "Biểu tượng địa điểm kho mặc định" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "Biểu tượng địa điểm kho hàng mặc định (trống nghĩa là không có biểu tượng)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "Hiển thị hàng hóa đã lắp đặt" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "Hiển thị hàng trong kho đã được lắp đặt trên bảng kho" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "Mã tham chiếu đơn đặt bản dựng" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt bản dựng" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "Bật đơn hàng trả lại" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "Bật chức năng đơn hàng trả lại trong giao diện người dùng" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "Mẫu tham chiếu đơn hàng trả lại" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "Sửa đơn hàng trả lại đã hoàn thành" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "Cho phép sửa đơn hàng trả lại sau khi đã hoàn thành rồi" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt hàng" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "Mẫu bắt buộc để tạo trường tham chiếu đơn đặt hàng" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "Vận chuyển mặc định đơn đặt hàng" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "Cho phép tạo vận chuyển mặc định với đơn đặt hàng" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "Sửa đơn đặt hàng đã hoàn thành" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Cho phép sửa đơn đặt hàng sau khi đã vận chuyển hoặc hoàn thành" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt mua" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt mua" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "Sửa đơn đặt mua đã hoàn thành" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Cho phép sửa đơn đặt mua sau khi đã vận chuyển hoặc hoàn thành" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "Tự động hoàn thành đơn đặt mua" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "Bật quên mật khẩu" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "Bật chức năng quên mật khẩu trong trang đăng nhập" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "Bật đăng ký" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "Cho phép người dùng tự đăng ký tại trang đăng nhập" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "Bật SSO" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "Cho phép SSO tại trang đăng nhập" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "Bật đăng ký SSO" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Cho phép người dùng tự đăng ký SSO tại trang đăng nhập" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "Yêu cầu email" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "Yêu cầu người dùng cung cấp email để đăng ký" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "Người dùng tự động điền SSO" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "Tự động điền thông tin chi tiết từ dữ liệu tài khoản SSO" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "Thư 2 lần" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "Khi đăng ký sẽ hỏi người dùng hai lần thư điện tử của họ" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "Mật khẩu 2 lần" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "Khi đăng ký sẽ hỏi người dùng hai lần mật khẩu của họ" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "Các tên miền được phép" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Cấm đăng ký với 1 số tên miền cụ thể (dấu phẩy ngăn cách, bắt đầu với dấu @)" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "Nhóm khi đăng ký" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "Bắt buộc MFA" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "Người dùng phải sử dụng bảo mật đa nhân tố." -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "Kiểm tra phần mở rộng khi khởi động" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Kiểm tra toàn bộ phần mở rộng đã được cài đặt khi khởi dộng - bật trong môi trường ảo hóa" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "Kiểm tra cập nhật plugin" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "Bật tích hợp URL" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "Bật phần mở rộng để thêm định tuyến URL" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "Bật tích hợp điều hướng" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "Bật phần mở rộng để tích hợp thanh định hướng" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "Bật tích hợp ứng dụng" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "Bật phần mở rộng để thêm ứng dụng" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "Cho phép tích hợp lập lịch" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "Bật phẩn mở rộng để chạy các tác vụ theo lịch" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "Bật tích hợp nguồn cấp sự kiện" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "Bật phần mở rộng để trả lời sự kiện bên trong" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "Bật mã dự án" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "Bật mã dự án để theo dõi dự án" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "Chức năng kiểm kê" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Bật chức năng kiểm kê theo mức độ ghi nhận kho và tính toán giá trị kho" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "Ngoại trừ vị trí bên ngoài" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Loại trừ hàng trong kho thuộc địa điểm bên ngoài ra khỏi tính toán kiểm kê" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "Giai đoạn kiểm kê tự động" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Số ngày giữa ghi chép kiểm kê tự động (đặt không để tắt)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "Khoảng thời gian xóa báo cáo" -#: common/models.py:2143 +#: common/models.py:2145 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:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "Hiển thị tên đầy đủ của người dùng" -#: common/models.py:2151 +#: common/models.py:2153 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:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 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:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2214 +#: common/models.py:2216 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:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "Hiện sản phẩm đã đăng ký" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "Hiện sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "Hiện danh mục đã đăng ký" -#: common/models.py:2227 +#: common/models.py:2229 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:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:2233 +#: common/models.py:2235 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:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 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:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "Hiện thay đổi kho hàng gần đây" -#: common/models.py:2245 +#: common/models.py:2247 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:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "Hiển thị hàng còn ít" -#: common/models.py:2251 +#: common/models.py:2253 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:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "Hiển thị hết hàng" -#: common/models.py:2257 +#: common/models.py:2259 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:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "Hiển thị hàng cần thiết" -#: common/models.py:2263 +#: common/models.py:2265 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:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "Bán kho quá hạn" -#: common/models.py:2269 +#: common/models.py:2271 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:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "Hiện kho hàng ế" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "Hiện hàng trong kho bị ế trên trang chủ" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "Hiện bản dựng chờ xử lý" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "Hiện bản dựng chờ xử lý trên trang chủ" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "Hiện bản dựng quá hạn" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "Hiện bản dựng quá hạn trên trang chủ" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "Hiện PO nổi bật" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "Hiện PO nổi bật trên trang chủ" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "Hiện PO quá hạn" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "Hiện đơn mua hàng quá hạn trên trang chủ" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "Hiện đơn hàng vận chuyển nổi bật" -#: common/models.py:2305 +#: common/models.py:2307 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:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "Hiện đơn vận chuyển quá hạn" -#: common/models.py:2311 +#: common/models.py:2313 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:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "Hiện đơn vận chuyển chờ xử lý" -#: common/models.py:2317 +#: common/models.py:2319 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:2322 +#: common/models.py:2324 msgid "Show News" msgstr "Hiện tin tức" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "Hiện tin tức trên trang chủ" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "Hiển thị nhãn cùng dòng" -#: common/models.py:2330 +#: common/models.py:2332 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:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "Máy in tem nhãn mặc định" -#: common/models.py:2338 +#: common/models.py:2340 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:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "Hiển thị báo cáo cùng hàng" -#: common/models.py:2346 +#: common/models.py:2348 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:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "Tìm sản phẩm" -#: common/models.py:2353 +#: common/models.py:2355 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:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "Tìm sản phẩm nhà cung cấp" -#: common/models.py:2359 +#: common/models.py:2361 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:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "Tìm sản phẩm nhà sản xuất" -#: common/models.py:2365 +#: common/models.py:2367 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:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2371 +#: common/models.py:2373 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:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "Tìm kiếm danh mục" -#: common/models.py:2377 +#: common/models.py:2379 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:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "Tìm kiếm kho" -#: common/models.py:2383 +#: common/models.py:2385 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:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "Ẩn hàng hóa trong kho không có sẵn" -#: common/models.py:2390 +#: common/models.py:2392 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:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "Tìm kiếm vị trí" -#: common/models.py:2397 +#: common/models.py:2399 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:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "Tìm kiếm công ty" -#: common/models.py:2403 +#: common/models.py:2405 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:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "Tìm kiếm đặt hàng xây dựng" -#: common/models.py:2409 +#: common/models.py:2411 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:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "Tìm kiếm đơn đặt mua" -#: common/models.py:2415 +#: common/models.py:2417 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:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "Loại trừ đơn đặt mua không hoạt động" -#: common/models.py:2422 +#: common/models.py:2424 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:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "Tìm đơn đặt hàng người mua" -#: common/models.py:2429 +#: common/models.py:2431 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:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "Loại trừ đơn đặt hàng người mua không hoạt động" -#: common/models.py:2436 +#: common/models.py:2438 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:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "Tìm kiếm đơn hàng trả lại" -#: common/models.py:2443 +#: common/models.py:2445 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:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "Loại trừ đơn hàng trả lại không hoạt động" -#: common/models.py:2450 +#: common/models.py:2452 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:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "Kết quả xem trước tìm kiếm" -#: common/models.py:2458 +#: common/models.py:2460 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:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "Tìm kiếm biểu thức" -#: common/models.py:2465 +#: common/models.py:2467 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:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "Tìm phù hợp toàn bộ chữ" -#: common/models.py:2471 +#: common/models.py:2473 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:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "Hiện số lượng trong biểu mẫu" -#: common/models.py:2477 +#: common/models.py:2479 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:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "Phím escape để đóng mẫu biểu" -#: common/models.py:2483 +#: common/models.py:2485 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:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "Cố định điều hướng" -#: common/models.py:2489 +#: common/models.py:2491 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:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "Định dạng ngày" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "Định dạng ưa chuộng khi hiển thị ngày" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Lập lịch sản phẩm" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "Hiển thị thông tin lịch sản phẩm" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Kiểm kê sản phẩm" -#: common/models.py:2516 +#: common/models.py:2518 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:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "Độ dài chuỗi trong bảng" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "Giới hạn độ dài tối đa cho chuỗi hiển thị trong kiểu xem bảng biểu" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "Nhận báo cáo lỗi" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "Nhận thông báo khi có lỗi hệ thống" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Người dùng" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "Giá" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "Đơn vị giá theo số lượng cụ thể" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "Đầu mối" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "Đầu mối tại điểm webhook được nhận" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "Tên của webhook này" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "Webhook có hoạt động không" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "Chữ ký số" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "Chữ ký số để truy cập" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "Bí mật" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "Mã bí mật dùng chung cho HMAC" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "Mã Tin nhắn" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "Định danh duy nhất cho tin nhắn này" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "Máy chủ" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "Mãy chủ từ tin nhắn này đã được nhận" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "Đầu mục" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "Đầu mục tin nhắn" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "Thân" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "Thân tin nhắn này" -#: common/models.py:2878 +#: common/models.py:2880 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:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "Làm việc vào" -#: common/models.py:2884 +#: common/models.py:2886 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:3010 +#: common/models.py:3012 msgid "Id" msgstr "Mã" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tiêu đề" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "Tiêu đề" msgid "Link" msgstr "Liên kết" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "Đã công bố" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Tác giả" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "Tóm tắt" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "Đọc" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "Tin này đã được đọc?" msgid "Image" msgstr "Hình ảnh" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "Tệp ảnh" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 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:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "Tên đơn vị" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Biểu tượng" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "Biểu tượng đơn vị tùy chọn" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Định nghĩa" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "Định nghĩa đơn vị" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Đính kèm" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "Tập tin bị thiếu" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "Thiếu liên kết bên ngoài" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Bình luận" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "Khóa" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "Mới {verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 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:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "{verbose_name} đã bị hủy" -#: common/notifications.py:324 +#: common/notifications.py:320 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:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "Mục đã nhận" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "Hàng đã được nhận theo đơn đặt mua" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "Hàng đã nhận theo đơn hàng trả lại" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "Lỗi được thông báo bởi phần mở rộng" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "Đang chạy" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "Công việc chờ xử lý" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "Tác vụ theo lịch" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "Tác vụ thất bại" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "ID tác vụ" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "ID tác vụ duy nhất" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "Khoá" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "Thời gian khóa" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "Tên công việc" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "Chức năng" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "Tên chức năng" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "Đối số" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "Đối số công việc" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "Đối số từ khóa" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "Đối số từ khóa công việc" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "Tên tập tin" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "Khớp trường" msgid "Match Items" msgstr "Khớp hàng hóa" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "Khớp trường thất bại" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "Hàng hóa đã được nhập vào" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Doanh nghiêp" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "Doanh nghiệp" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "Mô tả công ty" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "Mô tả của công ty" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "Trang web" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "URL trang web của công ty" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "Số điện thoại" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "Số điện thoại liên hệ" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "Địa chỉ email liên hệ" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "Liên hệ" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "Đầu mối liên hệ" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "Liên kết đến thông tin công ty ngoài" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "Bạn có bán hàng cho công ty này?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "Bạn có mua hàng từ công ty này?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "Công ty này có sản xuất sản phẩm?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "Tiền tệ mặc định dùng cho công ty này" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "Địa chỉ" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "Địa chỉ" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "Chọn doanh nghiệp" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "Tiêu đề địa chỉ" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "Tiêu đề mô tả mục địa chỉ" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "Địa chỉ chính" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "Đặt làm địa chỉ chính" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Dòng 1" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "Địa chỉ dòng 1" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Dòng 2" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "Địa chỉ dòng 2" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Mã bưu chính" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "Thành phố/Vùng" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "Mã bưu chính thành phố/vùng" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "Bang/Tỉnh" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "Bang hay tỉnh" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "Quốc gia" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "Địa chỉ quốc gia" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "Ghi chú vận chuyển" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "Ghi chú dành cho chuyển phát nhanh" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "Ghi chú nội bọ chuyển phát nhanh" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "Ghi chú nội bộ sử dụng cho chuyển phát nhanh" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "Liên kết thông tin địa chỉ (bên ngoài)" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Sản phẩm nhà sản xuất" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Sản phẩm cơ bản" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "Chọn sản phẩm" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "Chọn sản phẩm" msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "Chọn nhà sản xuất" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL cho liên kết sản phẩm của nhà sản xuất bên ngoài" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "Mô tả sản phẩm của nhà sản xuất" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "Tên tham số" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "Giá trị" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "Giá trị tham số" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "Đơn vị" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "Đơn vị tham số" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "Sản phẩm nhà cung cấp" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "Đơn vị đóng gói phải tương thích với đơn vị sản phẩm cơ bản" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "Đơn vị đóng gói phải lớn hơn không" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu với sản phẩm cơ bản tương tự" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "Chọn sản phẩm của nhà sản xuất" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "URL cho liên kết sản phẩm của nhà cung cấp bên ngoài" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "Ghi chú" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "Đóng gói sản phẩm" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "Đóng gói sản phẩm" msgid "Pack Quantity" msgstr "Số lượng gói" -#: company/models.py:860 +#: company/models.py:857 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:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "nhiều" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "Đặt hàng nhiều" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "Số lượng có sẵn từ nhà cung cấp" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "Sẵn hàng đã được cập nhật" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "Ngày cập nhật cuối thông tin tồn kho" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "Tiền tệ mặc định được sử dụng cho nhà cung cấp này" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "Tải hình ảnh từ URL" msgid "Delete image" msgstr "Xóa ảnh" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "Khách hàng" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "Điện thoại" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "Xoá hình ảnh" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "Xóa hình ảnh gắn với công ty này" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Xóa" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "Tải hình lên" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "Tải ảnh xuống" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "Xóa sản phẩm của nhà sản xuất" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "Sản phẩm nội bộ" @@ -4838,7 +4939,7 @@ msgstr "Chưa có thông tin nhà sản xuất" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "Xóa sản phẩm nhà cung cấp" msgid "No supplier information available" msgstr "Chưa có thông tin nhà cung cấp" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "Cập nhật độ sẵn sàng sản phẩm" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "Hàng trong kho" @@ -5022,99 +5123,107 @@ msgstr "Khách hàng mới" msgid "New Company" msgstr "Doanh nghiệp mới" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "Đã đặt" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "Dữ liệu" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "Hợp lệ" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Không rõ" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "Tổng tiền" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "Không tìm thấy đơn đặt mua phù hợp" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Đặt hàng" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "Đơn hàng trả lại" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Tổng tiền cho đơn hàng hàng" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Tiền tệ đơn đặt hàng" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Tiền tệ cho đơn đặt này (để trống để sử dụng tiền mặc định)" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "Liên hệ không phù hợp với doanh nghiệp đã chọn" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "Mô tả đơn đặt (tùy chọn)" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "Mã dự án đã chọn cho đơn đặt hàng này" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "Liên kết đến trang bên ngoài" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Ngày mong muốn giao được hàng. Đơn đặt sẽ quá hạn sau ngày này." -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "Tạo bởi" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt này" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "Đầu mối liên hệ của đơn đặt này" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "Địa chỉ công ty cho đơn đặt này" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "Mã đặt hàng" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "Trạng thái đơn đặt mua" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "Doanh nghiệp từ những hàng hóa đang được đặt mua" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "Tham chiếu nhà cung cấp" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "Mã tham chiếu đơn đặt nhà cung cấp" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "nhận bởi" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "Ngày phát hành" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "Ngày đặt hàng đã phát hành" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "Ngày đặt hàng đã được hoàn thiện" -#: order/models.py:571 +#: order/models.py:572 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:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "Số lượng phải là số dương" -#: order/models.py:991 +#: order/models.py:992 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:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "Tham chiếu khách hàng " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "Mã tham chiếu đơn đặt của khách hàng" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Ngày giao hàng" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "vận chuyển bằng" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 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:1088 +#: order/models.py:1081 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:1093 +#: order/models.py:1086 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:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "Số lượng mặt hàng" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "Tham chiếu khoản riêng" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "Ghi chú khoản riêng" -#: order/models.py:1393 +#: order/models.py:1386 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:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "Mô tả khoản riêng (tùy chọn)" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "Ngữ cảnh" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "Ngữ cảnh bổ sung" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "Đơn giá" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 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:1476 +#: order/models.py:1469 msgid "deleted" msgstr "đã bị xóa" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "Sản phẩm nhà cung cấp" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "Sản phẩm nhà cung cấp" msgid "Received" msgstr "Đã nhận" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "Giá đơn vị mua" -#: order/models.py:1536 +#: order/models.py:1529 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:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 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:1642 +#: order/models.py:1635 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:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Giá bán" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "Giá bán đơn vị" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Đã chuyển" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "Số lượng đã vận chuyển" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "Ngày vận chuyển" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Ngày giao hàng" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "Ngày giao hàng của vận chuyển" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "Kiểm tra bởi" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Vận chuyển" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "Mã vận chuyển" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "Số theo dõi" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "Thông tin theo dõi vận chuyển" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "Mã hóa đơn" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "Số tham chiếu liên kết với hóa đơn" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "Vận đơn đã được gửi đi" -#: order/models.py:1836 +#: order/models.py:1829 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:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "Hàng trong kho chưa được giao" -#: order/models.py:1973 +#: order/models.py:1966 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:1976 +#: order/models.py:1969 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:1979 +#: order/models.py:1972 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:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 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:2001 +#: order/models.py:1994 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:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 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:2010 +#: order/models.py:2003 msgid "Line" msgstr "Dòng" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "Tham chiếu vận đơn của đơn hàng bán" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "Hàng hóa" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "Chọn hàng trong kho để phân bổ" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "Nhập số lượng phân kho" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "Tham chiếu đơn hàng trả lại" -#: order/models.py:2148 +#: order/models.py:2141 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:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "Trạng thái đơn hàng trả lại" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 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:2392 +#: order/models.py:2385 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:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "Ngày nhận được" -#: order/models.py:2399 +#: order/models.py:2392 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:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "Kết quả" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "Kết quả cho hàng hóa dòng này" -#: order/models.py:2418 +#: order/models.py:2411 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" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "Tên nhà cung cấp" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "Đơn đặt không thể bị hủy" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "Cho phép đơn đặt phải đóng lại cùng với các mục dòng hàng hóa chưa hoàn thành" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "Đơn đặt có dòng hàng hóa chưa hoàn thành" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "Đơn đặt là không được mở" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "Tiền tệ giá mua" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "Sản phẩm nhà cung cấp phải được chỉ định" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "Đơn đặt mua phải được chỉ định" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "Nhà cung cấp phải phù hợp với đơn đặt mua" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "Đơn đặt mua phải phù hợp với nhà cung cấp" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "Mục dòng" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "Mục dòng không phù hợp với đơn đặt mua" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "Chọn vị trí đích cho hàng hóa đã nhận" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "Nhập mã lô cho hàng trong kho đang đến" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "Nhập số sê ri cho hàng trong kho đang đến" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Mã vạch" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "Mã vạch đã quét" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "Mã vạch đã được dùng" @@ -5910,7 +6019,7 @@ msgstr "Mã vạch đã được dùng" msgid "An integer quantity must be provided for trackable parts" msgstr "Cần điền số nguyên cho sản phẩm có thể theo dõi" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "Dòng hàng hóa phải được cung cấp" @@ -5922,59 +6031,59 @@ msgstr "Vị trí đích phải được chỉ ra" msgid "Supplied barcode values must be unique" msgstr "Giá trị mã vạch đã cung cấp phải duy nhất" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "Tiền tệ giá bán" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "Chưa cung cấp thông tin vận chuyển" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "Dòng hàng hóa chưa được gắn với đơn đặt này" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "Số lượng phải là số dương" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "Nhập số sê ri để phân bổ" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "Vận đơn đã được chuyển đi" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "Vận đơn không được gắn với đơn đặt này" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "Không tìm thấy số sê ri sau đây" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "Những số sê ri sau đây đã được phân bổ" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "Dòng riêng biệt đơn hàng trả lại" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "Line item không phù hợp với đơn hàng trả lại" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "Line item đã nhận được" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "Hàng hóa chỉ có thể được nhận theo đơn hàng đang trong tiến trình" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "Tiền tệ giá đồng hạng" @@ -5982,7 +6091,7 @@ msgstr "Tiền tệ giá đồng hạng" msgid "Lost" msgstr "Mất" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "Đã trả lại" @@ -6184,8 +6293,8 @@ msgstr "Lựa chọn trùng lặp" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "Vận chuyển đang chờ xử lý" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "Chức năng" @@ -6401,21 +6510,22 @@ msgstr "Cập nhật {part} giá đơn vị đến {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Cập nhật {part} giá đơn vị đến {price} và số lượng đến {qty}" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "Phiên bản" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "Từ khóa" @@ -6427,7 +6537,7 @@ msgstr "Ảnh sản phẩm" msgid "Category ID" msgstr "ID danh mục" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "Tên danh mục" @@ -6440,11 +6550,11 @@ msgstr "ID vị trí mặc định" msgid "Default Supplier ID" msgstr "ID nhà cung ứng mặc định" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Biến thể của" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -6452,23 +6562,23 @@ msgstr "Kho tối thiểu" msgid "Used In" msgstr "Sử dụng trong" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Đang dựng" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Chi phí tối đa" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "ID cha" @@ -6481,8 +6591,8 @@ msgstr "Tên cha" msgid "Category Path" msgstr "Đưỡng dẫn danh mục" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "IPN cha" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "Đơn đặt mua vào" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "Đơn hàng bán ra" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "Kho sản xuất bởi Đơn đặt bản dựng" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "Kho được yêu cầu cho đơn đặt bản dựng" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "Xác minh toàn bộ hóa đơn vật liệu" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "Tùy chọn này phải được chọn" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "Danh mục" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "Điểm bán mặc định" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Tổng số lượng" @@ -6641,421 +6755,421 @@ msgstr "Tổng số lượng" msgid "Input quantity for price calculation" msgstr "Số lượng đầu ra cho tính toán giá bán" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 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" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Danh mục sản phẩm" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "Vị trí mặc định cho sản phẩm trong danh mục này" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "Cấu trúc" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Hàng hóa không được gán trực tiếp vào danh mục có cấu trúc nhưng có thể được gán vào danh mục con." -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "Từ khóa mặc định" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "Từ khóa mặc định cho sản phẩm trong danh mục này" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "Biểu tượng" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "Biểu tượng (tùy chọn)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Bạn không thể thay đổi cấu trúc nhóm sản phẩm này vì một số sản phẩm đã được gắn với nó rồi!" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "Lựa chọn sai cho sản phẩm cha" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Không thể dùng sản phẩm '{self}' trong BOM cho '{parent}' (đệ quy)" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Sản phẩm '{parent}' được dùng trong BOM cho '{self}' (đệ quy)" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN phải phù hợp mẫu biểu thức chính quy {pattern}" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 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:917 +#: part/models.py:927 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:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 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:951 +#: part/models.py:963 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:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "Tên sản phẩm" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "Là Mẫu" -#: part/models.py:989 +#: part/models.py:1001 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:999 +#: part/models.py:1011 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:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "Mô tả (không bắt buộc)" -#: part/models.py:1015 +#: part/models.py:1027 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:1025 +#: part/models.py:1037 msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 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:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "Hàng hóa này sẽ được cất vào đâu?" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "Nhà cung ứng mặc định" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "Nhà cung ứng sản phẩm mặc định" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "Hết hạn mặc định" -#: part/models.py:1130 +#: part/models.py:1142 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:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "Cấp độ kho tối thiểu được phép" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "Đơn vị đo cho sản phẩm này" -#: part/models.py:1155 +#: part/models.py:1167 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:1161 +#: part/models.py:1173 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:1167 +#: part/models.py:1179 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:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 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:1185 +#: part/models.py:1197 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:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "Sản phẩm này đang hoạt động?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 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:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "Giá trị tổng kiểm BOM" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "Giá trị tổng kiểm BOM đã được lưu" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "BOM kiểm tra bởi" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "Ngày kiểm tra BOM" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "Tạo người dùng" -#: part/models.py:1247 +#: part/models.py:1259 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:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Kiểm kê cuối cùng" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:3116 +#: part/models.py:3128 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:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:3154 +#: part/models.py:3166 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:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:3161 +#: part/models.py:3173 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:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:3168 +#: part/models.py:3180 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:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:3175 +#: part/models.py:3187 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:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:3182 +#: part/models.py:3194 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:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:3189 +#: part/models.py:3201 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:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:3196 +#: part/models.py:3208 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:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "Ghi đề chi phí tối thiểu" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "Ghi đề chi phí tối đa" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:3231 +#: part/models.py:3243 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:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:3277 +#: part/models.py:3289 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:3285 +#: part/models.py:3297 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:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "Tống số kho tại thời điểm kiểm kê" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "Ngày" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "Ghi chú bổ sung" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "Người dùng đã thực hiện đợt kiểm kê này" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3315 +#: part/models.py:3327 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:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3322 +#: part/models.py:3334 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:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Báo cáo" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "Tệp báo cáo kiểm kê (được sinh nội bộ)" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Bộ đếm sản phẩm" -#: part/models.py:3385 +#: part/models.py:3397 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:3395 +#: part/models.py:3407 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:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" -#: part/models.py:3575 +#: part/models.py:3587 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:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Đã bật" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3635 +#: part/models.py:3647 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:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3642 +#: part/models.py:3654 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:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Lựa chọn" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "Tham số hộp kiểm tra không thể có đơn vị" -#: part/models.py:3713 +#: part/models.py:3725 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:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "Tên tham số mẫu phải là duy nhất" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Ô lựa chọn" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: part/models.py:3793 +#: part/models.py:3805 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:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Mẫu tham số" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "Tên hoặc mã sản phẩm" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "Giá trị mã sản phẩm duy nhất" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "Giá trị IPN sản phẩm" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "Cấp độ" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:4266 +#: part/models.py:4279 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:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Dư thừa" -#: part/models.py:4274 +#: part/models.py:4287 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:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "Nhận thừa hưởng" -#: part/models.py:4308 +#: part/models.py:4321 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:4314 +#: part/models.py:4327 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:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "Số lượng phải là giá trị nguyên dùng cho sản phẩm có thể theo dõi được" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4572 +#: part/models.py:4582 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:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4637 +#: part/models.py:4647 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:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "Loại tiền mua hàng của hàng hóa này" @@ -7457,326 +7571,326 @@ msgstr "Loại tiền mua hàng của hàng hóa này" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "Chưa chọn sản phẩm" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "Chọn danh mục" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "Sao chép định mức nguyên vật liệu từ sản phẩm gốc" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "Sao chép thông tin tham số từ sản phẩm gốc" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Chỉ ra số lượng tồn kho ban đầu cho sản phẩm. Nếu điền là không, không thêm kho nào." -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "Chỉ định vị trí kho ban đầu cho sản phẩm này" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "Chọn nhà sản xuất (hoặc để trống để bỏ qua)" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "Công ty đã chọn không phải là nhà cung ứng hợp lệ" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "Công ty đã chọn không phải là nhà sản xuất hợp lệ" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "Mã số nhà sản xuất khớp với MPN này đã tồn tại" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "Mã số nhà cung cấp khớp với SKU này đã tồn tại" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "Sao chép dữ liệu ban đầu từ sản phẩm khác" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "Tạo sản phẩm với số lượng tồn kho ban đầu" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "Thêm thông tin nhà cung cấp ban đầu cho sản phẩm này" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "Sao chép mẫu tham số từ nhóm sản phẩm được chọn" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "Tên tệp của ảnh sản phẩm hiện hữu" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Hạn chế báo cáo kiểm kê với sản phẩm riêng biệt và sản phẩm biến thể bất kỳ" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Hạn chế báo cáo kiểm kê với danh mục sản phẩm riêng biệt và danh mục con bất kỳ" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Hạn chế báo cáo kiểm kê với vị trí kho riêng biệt và vị trí con bất kỳ" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "Loại trừ hàng trong kho của vị trí bên ngoài" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "Tạo tệp báo cáo chứa dữ liệu kiểm kê đã tính toán" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "Cập nhật sản phẩm cụ thể với dữ liệu kiểm kê đã tính" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "Chức năng kiểm kê chưa được bật" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Không thể chuyển đổi từ tiền tệ đã cung cấp cho {default_currency}" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "Giá tối thiểu không được lớn hơn giá tối đa" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "Giá tối đa không được nhỏ hơn giá tối thiểu" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Có thể dựng" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "Chọn sản phẩm để sao chép định mức nguyên vật liệu" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "Xóa mục BOM đã tồn tại trước khi sao chép" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "Bao gồm mục BOM được thừa hưởng từ sản phẩm mẫu" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "Bật tùy chọn này để bỏ qua dòng không hợp lệ" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "Sao chép sản phẩm thay thế khi nhân bản hàng hóa BOM" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "Dọn dẹp BOM đang tồn tại" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "Xóa mục BOM đang tồn tại trước khi tải lên" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "Chưa chỉ ra cột sản phẩm" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "Tìm thấy nhiều sản phẩm phù hợp" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "Không tìm thấy sản phẩm nào" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "Sản phẩm không được chỉ định như là một thành phần" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "Chưa cung cấp số lượng" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "Số lượng không hợp lệ" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "Buộc phải nhập ít nhất một mục BOM" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" 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:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "Kiểm kê" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "Sản phẩm là ảo (không phải sản phẩm vật lý)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "Chi tiết giá sản phẩm" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "Phân bổ đến đơn đặt bản dựng" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "Phân bổ đến đơn bán hàng" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "Cấp kho tối thiểu" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "Khoảng giá" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "Số seri mới nhất" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "Tìm kiếm cho số sê ri" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "Mã QR sản phẩm" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "Liên kết mã vạch đến sản phẩm" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "Tính toán" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "Xóa ảnh gắn kết với sản phẩm này" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "Không tìm thấy hình ảnh phù hợp" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "Ẩn chi tiết sản phẩm" @@ -8288,7 +8406,7 @@ msgstr "Biến thể" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -8330,11 +8448,11 @@ msgstr "Ghi đè định giá sản phẩm" msgid "Edit" msgstr "Sửa" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "Cập nhật lần cuối" @@ -8498,8 +8616,8 @@ 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:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "Không tìm thấy dữ liệu mã vạch phù hợp" @@ -8524,52 +8642,52 @@ msgstr "Mã vạch phù hợp với hàng hóa hiện có" msgid "No matching part data found" msgstr "Không tìm thấy thông tin sản phẩm phù hợp" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "Không tìm thấy sản phẩm nhà cung cấp phù hợp" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "Tìm thấy nhiều sản phẩm nhà cung cấp phù hợp" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "Sản phẩm nhà cung cấp phù hợp" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "Hàng hóa này đã được nhận" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "Không phù hợp với mã vạch nhà cung cấp" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Kho không đủ hạn mức khả dụng" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "Không đủ thông tin" @@ -8591,15 +8709,15 @@ msgstr "Không có đơn đặt mua phù hợp với '{order}'" 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:465 +#: plugin/base/barcodes/mixins.py:467 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:496 +#: plugin/base/barcodes/mixins.py:498 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:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "Mục dòng đơn đặt mua đã nhận" @@ -8756,7 +8874,7 @@ msgstr "URL webhook đầu vào của Slack" msgid "URL that is used to send messages to a slack channel" msgstr "URL dùng để gửi tin nhắn đến một kênh của Slack" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "Mở liên kết" @@ -8894,7 +9012,7 @@ msgstr "Cung cấp khả năng quét mã vạch TME" msgid "The Supplier which acts as 'TME'" msgstr "Nhà cung cấp hoạt động như 'TME'" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "Cài đặt phần mở rộng thành công" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Cài đặt phần bổ sung đến {path}" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "Cấu hình phần bổ sung" msgid "Plugin Configurations" msgstr "Cấu hình phần bổ sung" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "Khóa" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "Khóa của phần bổ sung" @@ -8994,7 +9108,7 @@ msgstr "Phần bổ sung" msgid "Method" msgstr "Phương thức" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "Không tìm thấy tác giả" @@ -9091,43 +9205,43 @@ msgstr "Cài đặt chưa được xác nhận" msgid "Either packagename of URL must be provided" msgstr "Hoặc là phải cung cấp tên gói của URL" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "Tải lại đầy đủ" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "Buộc tải lại" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "Kích hoạt phần bổ sung" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "Kích hoạt phần bổ sung này" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "Kết quả kiểm tra" msgid "Test" msgstr "Thử nghiệm" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "Kết quả" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "Không có kết quả" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Mục đã cài đặt" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "Sê-ri" @@ -9450,7 +9564,7 @@ msgstr "thẻ part_image yêu cầu 1 thực thể sản phẩm" msgid "company_image tag requires a Company instance" msgstr "thẻ company_image yêu cầu một thực thể doanh nghiệp" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "ID địa điểm" @@ -9459,58 +9573,58 @@ msgstr "ID địa điểm" msgid "Location Path" msgstr "Đường dẫn địa điểm" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "ID mặt hàng" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "Mã trạng thái" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "Sản phẩm nhà cung cấp" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "Tên nhà cung cấp" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "ID Khách hàng" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Đã cài đặt trong" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "ID bản dựng" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "ID đơn hàng bán" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "ID đơn đặt mua" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "Cần xem xét" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "Xóa khi thiếu hụt" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Ngày hết hạn" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "Địa điểm bên ngoài" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "Cây sản phẩm" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "Ngày hết hạn trước đó" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "Ngày hết hạn sau đó" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Ế" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "Bắt buộc nhập số lượng" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "Phải cung cấp sản phẩm hợp lệ" -#: stock/api.py:964 +#: stock/api.py:963 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:974 +#: stock/api.py:973 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:1005 +#: stock/api.py:998 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" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "Loại vị trí kho hàng" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "Loại vị trí kho hàng" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Biểu tượng mặc định cho vị trí không được đặt biểu tượng (tùy chọn)" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Vị trí kho hàng" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Chủ sở hữu" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "Chọn chủ sở hữu" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Không thể đưa trực tiếp hàng trong kho vào bên trong vị trí kho hàng có cấu trúc, nhưng có thể đặt vào kho con." -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "Bên ngoài" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "Đây là vị trí kho bên ngoài" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "Loại vị trí" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "Loại vị trí kho hàng của địa điểm này" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Bạn không thể chuyển đổi vị trí kho hàng này thành cấu trúc vì đã có hàng hóa trong kho được đặt vào bên trong nó!" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "Không thể đặt hàng trong kho vào trong địa điểm kho có cấu trúc!" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "Không thể tạo hàng hóa trong kho cho sản phẩm ảo" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Loại sản phẩm ('{self.supplier_part.part}') phải là {self.part}" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "Số lượng phải là 1 cho hàng hóa với số sê ri" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Số sê ri không thể đặt được nếu số lượng lớn hơn 1" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "Hàng hóa không thể thuộc về chính nó" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "Hàng hóa phải có 1 tham chiếu bản dựng nếu is_building=True" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "Tham chiếu bản dựng không thể trỏ vào cùng một đối tượng sản phẩm" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "Hàng trong kho cha" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "Sản phẩm cơ bản" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "Chọn sản phẩm nhà cung cấp khớp với hàng hóa trong kho này" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "Hàng trong kho này được đặt ở đâu?" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "Đóng gói hàng hóa này được lưu trữ lại" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "Mục này đã được cài đặt trong mục khác?" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "Số sê ri cho mục này" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "Mã lô cho hàng trong kho này" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "Số lượng tồn kho" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "Bản dựng nguồn" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "Bản dựng cho hàng hóa này" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Tiêu thụ bởi" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "Đơn đặt bản dựng đã dùng hàng hóa này" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "Đơn đặt mua nguồn" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "Đơn đặt mua cho hàng hóa này" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "Đơn hàng bán đích" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ngày hết hạn của hàng hóa này. Kho sẽ được nhắc tình trạng hết hạn sau ngày này" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "Xóa khi thiếu hụt" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "Xóa hàng trong kho này khi kho hàng bị thiếu hụt" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "Giá mua riêng lẻ tại thời điểm mua" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "Đã chuyển đổi sang sản phẩm" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "Chưa đặt sản phẩm thành có thể theo dõi" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "Số lượng phải là số nguyên" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Số lượng không thể vượt quá số lượng trong kho đang có ({self.quantity})" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "Số sêri phải là một danh sách dãy số nguyên" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "Số lượng không khớp với số sêri" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "Số sêri đã tồn tại" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "Hàng trong kho đã được gán vào đơn hàng bán" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "Hàng trong kho đã được cài đặt vào hàng hóa khác" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "Hàng trong kho chứa hàng hóa khác" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "Hàng trong kho đã được gắn với một khách hàng" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "Hàng trong kho hiện đang sản xuất" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "Không thể hợp nhất kho nối tiếp" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "Mặt hàng phải tham chiếu đến sản phẩm tương tự" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "Mặt hàng phải tham chiếu đến sản phẩm nhà cung cấp tương tự" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "Mã trạng thái kho phải phù hợp" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "Không thể xóa mặt hàng không ở trong kho" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "Ghi chú đầu vào" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "Phải cung cấp giá trị cho kiểm thử này" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "Phải tải liên đính kèm cho kiểm thử này" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "Kết quả kiểm thử" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "Giá trị đầu ra kiểm thử" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "Đính kèm kết quả kiểm thử" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "Ghi chú kiểm thử" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "Số sêri quá lớn" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "Mục cha" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Sử dụng kích thước đóng gói khi thêm: Số lượng được định nghĩa là số của gói" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Đã hết hạn" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "Mục con" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "Giá mua của mặt hàng, theo đơn vị hoặc gói" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "Nhập số của mặt hàng cần tạo số nối tiếp" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Số lượng phải không vượt quá số lượng trong kho đang có ({q})" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "Điền số sêri cho hàng hóa mới" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "Vị trí kho đích" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "Trường ghi chú tùy chọn" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "Không thể gán số sêri cho sản phẩm này" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "Chọn mặt hàng để lắp đặt" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "Số lượng để cài đặt" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "Nhập số lượng hàng hóa để cài đặt" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "Thêm ghi chú giao dịch (tùy chọn)" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "Số lượng cần cài đặt phải ít nhất là 1" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "Mặt hàng không khả dụng" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "Sản phẩm đã chọn không có trong hóa đơn vật liệu" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "Số lượng cần lắp đặt phải không vượt quá số lượng đang có" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "Vị trí đích cho hàng hóa bị gỡ bỏ" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "Chọn sản phẩm để chuyển đổi mặt hàng vào bên trong" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "Sản phẩm đã chọn không phải là tùy chọn hợp lệ để chuyển đổi" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Không thể chuyển đổi hàng hóa với sản phẩm nhà cung cấp đã gán" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "Vị trí đích dành cho hàng hóa trả lại" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "Chọn mặt hàng để đổi trạng thái" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "Không có mặt hàng nào được chọn" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Kho phụ" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "Sản phẩm phải có thể bán được" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "Hàng hóa được phân bổ đến một đơn hàng bán" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "Hàng hóa được phân bổ đến một đơn đặt bản dựng" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "Khách hàng được gán vào các mặt hàng" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "Công ty đã chọn không phải là khách hàng" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "Ghi chú phân bổ kho" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "Phải cung cấp danh sách mặt hàng" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "Ghi chú gộp kho" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "Cho phép nhiều nhà cung không khớp" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "Cho phép mặt hàng cùng sản phẩm nhà cung cấp khác phải được gộp" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "Cho phép trạng thái không khớp" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "Cho phép mặt hàng với mã trạng thái khác nhau để gộp lại" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "Cần cung cấp ít nhất hai mặt hàng" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "Giá trị khóa chính mặt hàng" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "Mã trạng thái mặt hàng" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "Ghi chú giao dịch kho" @@ -10175,107 +10289,107 @@ msgstr "Đã từ chối" msgid "Quarantined" msgstr "Đã cách ly" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "Mục theo dõi kho cổ điển" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "Kho hàng đã được khởi tạo" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "Sửa kho hàng" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "Số sê ri đã được gán" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "Kho đã đếm" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "Kho được thêm thủ công" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "Kho được xóa thủ công" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "Vị trí đã thay đổi" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "Kho hàng đã được cập nhật" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "Đã cài đặt vào bộ phận lắp ráp" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "Di rời khỏi bộ phận lắp ráp" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "Mục thành phần đã cài đặt" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "Mục thành phần đã di rời" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "Tách từ mục cha" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "Tách mục con" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "Kho hàng đã được gộp" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "Đã chuyển đổi sang biến thể" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "Đầu ra đơn đặt bản dựng đã được tạo" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "Đầu ra đơn đặt bản dựng đã hoàn thành" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "Đầu ra đơn đặt bản dựng bị từ chối" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "Tiêu hao bởi đơn đặt bản dựng" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "Vận chyển dựa vào đơn đặt bản dựng" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "Đã nhận dựa vào đơn đặt hàng mua" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "Trả hành dựa vào đơn hàng trả lại" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "Gửi đến khách hàng" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "Bị trả lại từ khách hàng" @@ -10316,7 +10430,7 @@ msgstr "Ghi chú tại kho hàng" msgid "Installed Stock Items" msgstr "Hàng hóa đã lắp đặt" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "Lắp đặt hàng hóa trong kho" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "Chuyển giao hàng" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Chỉ định cho khách hàng" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "Xóa mặt hàng" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Dựng" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "Điều hướng đến số sêri tiếp" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Không có vị trí nào được đặt" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "Chưa thực hiện kiểm kê" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "Vị trí mới" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "Xóa" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "Sản phẩm sau còn ít hàng trong kho yêu cầu" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "Số lượng bắt buộc" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "Thêm" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "Có" msgid "No" msgstr "Không" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "Người dùng" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "Chọn người dùng được chỉ định cho nhóm này" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "Người dùng sau là thành viên của nhiều nhóm" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "Thông tin cá nhân" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "Quyền" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "Ngày quan trọng" @@ -15205,35 +15319,35 @@ msgstr "Lần cuối mã thông báo được sử dụng" msgid "Revoked" msgstr "Đã thu hồi" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "Quyền hạn đã đặt" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "Nhóm" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "Xem" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "Quyền để xem mục" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "Quyền để thêm mục" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "Đổi" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "Quyển để sửa mục" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "Quyền để xóa mục" diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index c838076993..70742658fe 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: zh-CN\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "用户没有权限查阅当前模型。" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "提供了无效的单位 ({unit})" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "没有提供数值" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "不能将 {original} 转换到 {unit}" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "提供的数量无效" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "提供的数量无效 ({exc})" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到错误详细信息" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "输入日期" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "备注" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "值' {name}' 未出现在模式格式中" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "提供的值与所需模式不匹配:" @@ -132,82 +132,82 @@ msgstr "MFA注册已禁用。" msgid "The provided primary email address is not valid." msgstr "提供的主电子邮件地址无效。" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "提供的邮箱域名未被批准。" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "注册已禁用。" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "提供的数量无效" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "序號為空白" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "复制序列号" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "无效的组范围: {group}" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "组范围 {group} 超出了允许的数量 ({expected_quantity})" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "无效的组序列: {group}" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "未找到序列号" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "唯一序列号的数量 ({len(serials)}) 必须与数量匹配 ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "从这个值中删除 HTML 标签" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "连接错误" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "服务器响应状态码无效" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "发生异常" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "服务器响应的内容长度值无效" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "图片尺寸过大" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "图片下载超出最大尺寸" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "远程服务器返回了空响应" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" @@ -364,8 +364,8 @@ msgstr "中文 (繁体)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] 登录到应用程序" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "外掛程式Metadata" msgid "JSON metadata field, for use by external plugins" msgstr "外掛程式使用的JSON Metadata欄位" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "格式錯誤" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "指定了不明的格式鍵值" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "缺少必須的格式鍵值" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "參考欄位不能空白" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "參考欄位並須符合格式" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "參考編號過大" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "同一個上層元件下不能有重複的名字" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "無效的選項" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "無效的選項" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "名稱" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "名稱" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "描述" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "描述(選填)" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "路徑" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "Markdown 註記(選填)" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "條碼資料" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "第三方條碼資料" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "條碼雜湊值" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "條碼資料的唯一雜湊值" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "發現現有條碼" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "伺服器錯誤" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "伺服器紀錄了一個錯誤。" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "必須是有效的數字" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "貨幣" msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "用户名" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "名" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "用户的名字(不包括姓氏)" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "姓" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "用户的姓氏" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "用户的电子邮件地址" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "职员" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "此用户是否拥有员工权限" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "超级用户" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "此用户是否为超级用户" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "此用户是否为超级用户" msgid "Active" msgstr "激活" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "此用户帐户是否已激活" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "您沒有更改這個使用者角色的權限" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "只有管理員帳戶可以建立新的使用者" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "您的帳號已經建立完成。" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "請使用重設密碼功能來登入" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "歡迎使用 InvenTree" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "数据文件" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "选择要上传的数据文件" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "不支持的文件类型" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "文件过大" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "在文件中没有找到列" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "在文件中没有找到数据行" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "没有提供数据行" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "没有提供数据列" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "缺少必需的列:'{name}'" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "重复列: '{col}'" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "远程图片" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "远程图片文件的 URL" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图片" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "后台执行器检查失败" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "未配置电子邮件后端" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "InvenTree 系统健康检查失败" @@ -691,122 +691,122 @@ msgstr "無效的物理單位" msgid "Not a valid currency code" msgstr "無效的貨幣代碼" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "損失值不能為負" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "損失率不能超過100%" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "無效的損失值" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "編輯使用者資訊" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "設定密碼" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "密碼必須相符" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "密碼錯誤" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "系統資訊" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "關於InvenTree" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "级联" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上層生產工單" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "分配给我" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "发布者" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "耗材" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "非必須項目" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "装配" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "追蹤中" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "已分配" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "已分配" msgid "Available" msgstr "可用數量" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "生產工單" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "生產工單" msgid "Build Orders" msgstr "生產工單" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "装配物料清单尚未验证" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "无法为未激活的零件创建生产订单" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "无法为已解锁的零件创建生产订单" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "無效的上層生產工單選擇" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "必须指定负责的用户或组" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "無法更改生產工單" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "生產工單代號" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "生產工單代號" msgid "Reference" msgstr "參考代號" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "關於生產工單的簡單說明(選填)" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "這張生產工單對應的上層生產工單" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "這張生產工單對應的上層生產工單" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "這張生產工單對應的上層生產工單" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "零件" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "選擇要生產的零件" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "銷售訂單代號" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "這張生產工單對應的銷售訂單" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "來源倉儲地點" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "目標倉儲地點" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目库存地点" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "已經完成的庫存品數量" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "生產狀態" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "生產狀態代碼" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "批号" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "此产出的批号" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "建立日期" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "目標完成日期" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "完成日期" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "完成者" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "發布者" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "發布此生產工單的使用者" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "負責人" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "負責此生產工單的使用者或群組" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "外部連結" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "外部URL連結" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "製造優先度" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "此生產工單的優先程度" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "此生產工單的優先程度" msgid "Project Code" msgstr "專案代碼" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "此生產工單隸屬的專案代碼" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "未能卸载任务以完成生产分配" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生產工單 {build} 已經完成" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "一張生產工單已經完成" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "未指定产出" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "产出已完成" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "产出与生产订单不匹配" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "数量不能大于输出数量" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "产出 {serial} 未通过所有必要测试" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "生产订单行项目" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "生产对象" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "生产对象" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "生产对象" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "數量" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "生產工單所需數量" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定产出,因为主零件已经被标记为可追踪的" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配的數量({q})不能超過可用的庫存數量({a})" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "分配的數量必須大於零" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "有序號的品項數量必須為1" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "選擇的庫存品項和BOM的項目不符" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "選擇的庫存品項和BOM的項目不符" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "庫存品項" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "來源庫存項目" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "要分配的庫存數量" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "安裝到" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "目的庫存品項" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "零件名称" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "项目编码标签" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "产出" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "产出与之前的生产不匹配" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "产出零件与生产订单零件不匹配" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "此产出已经完成" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "此产出尚未完全分配" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "输入产出数量" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "可追蹤的零件數量必須為整數" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "序號" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "输出产出的序列号" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "输出产出的序列号" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "地點" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "生产输出的库存地点" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "自動分配序號" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "对于可跟踪的零件,必须提供序列号" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "序號已存在或無效" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "必须提供产出清单" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "废品产出的库存位置" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "放棄分配" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "取消对废品产出的任何库存分配" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "废品产出的原因" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "已完成删除的库存地点" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "狀態" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未全部分配,则完成产出" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "消费已分配的库存" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "消耗已分配给此生产的任何库存" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的产出" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "不允许" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "接受作为此生产订单的消费" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "完成此生产订单前取消分配" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "超出分配的库存" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "如何处理分配给生产订单的额外库存项" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "有库存项目已被过度分配" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "接受未分配" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完全分配至生产订单" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "接受不完整" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "允许所需数量的产出未完成" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "未完成所需生产数量" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "生产订单有打开的子生产订单" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "生产订单必须处于生产状态" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "生产行" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "产出" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "生产行项目" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单零件相同" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "商品必須有庫存" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出限制" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的零件的分配,必须指定生产产出" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的零件,无法指定生产产出" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "必须提供分配项目" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "零件来源的库存地点(留空则可来源于任何库存地点)" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "排除位置" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "从该选定的库存地点排除库存项" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "可互換庫存" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "在多个位置的库存项目可以互换使用" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "替代品库存" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的零件" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "分配可选的物料清单给生产订单" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "启动自动分配任务失败" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "供应商零件编号" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "制造商零件编号" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "位置名称" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "构建参考" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "物料清单参考" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "打包" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "零件编号" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "零件的内部零件号" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "零件描述" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "物料清单零件识别号码" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "物料清单零件名称" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "物料清单零件名称" msgid "Serial Number" msgstr "序列号" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "已分配数量" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "可用数量" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "零件类别编号" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "零件类别名称" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "可追踪" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "已继承的" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "允许变体" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "物料清单项" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "分配库存" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "已订购" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "生产中" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "可用库存" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "可用的替代品库存" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "可用的变体库存" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "全部可用库存" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "外部库存" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "被挂起" msgid "Cancelled" msgstr "已取消" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "完成" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "生产订单所需库存" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "逾期的生产订单" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "生产订单 {bo} 现已逾期" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此生产订单" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "产出已完成" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "产出已完成" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "销售订单" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "優先等級" @@ -1968,7 +1977,7 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "目的地" @@ -1981,13 +1990,13 @@ msgstr "未指定目的地" msgid "Allocated Parts" msgstr "已分配的零件" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "队列" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "已创建" @@ -2120,7 +2129,7 @@ msgstr "新建生产订单" msgid "Build Order Details" msgstr "生产订单详情" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "未完成的产出" msgid "Test Statistics" msgstr "测试统计" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "是否链接" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "是否为文件" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "用户没有权限删除此附件" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "用户没有权限删除此附件" @@ -2209,1631 +2218,1631 @@ msgstr "{name.title()} 文件" msgid "Select {name} file to upload" msgstr "选择 {name} 文件上传" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "已是最新" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "最后更新时间戳" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "网站 URL 已配置为锁定" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "唯一项目编码" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "项目描述" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "负责此项目的用户或群组" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "设置键(必须是独特的 - 不区分大小写)" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "设定值" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "所选值不是一个有效的选项" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "该值必须是布尔值" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "该值必须为整数" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "键字符串必须是唯一的" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "无分组" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "需要重启" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "设置已更改,需要服务器重启" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "等待迁移" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "待处理的数据库迁移数" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "服务器实例名称" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "服务器实例的字符串描述符" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "使用实例名称" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "在标题栏中使用实例名称" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "限制显示 `关于` 信息" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "只向超级管理员显示关于信息" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "公司名称" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "基本 URL" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "服务器实例的基准 URL" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "默认货币单位" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "选择价格计算的默认货币" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "支持币种" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "支持的货币代码列表" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "货币更新间隔时间" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "检查更新的频率(设置为零以禁用)" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "天" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "币种更新插件" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "使用货币更新插件" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "从URL下载" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "允许从外部 URL 下载远程图片和文件" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "下载大小限制" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "远程图片的最大允许下载大小" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "用于从 URL 下载的 User-agent" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "允许覆盖用于从外部 URL 下载图片和文件的 user-agent(留空为默认值)" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "严格的 URL 验证" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "验证 URL 时需要 schema 规范" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "需要确认" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "对某些操作需要用户明确确认。" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "树深度" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "树视图的默认树深度。更深的层级可以在需要时延迟加载。" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "更新检查间隔" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "检查更新的频率(设置为零以禁用)" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "自動備份" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "啟動資料庫和媒體文件自動備份" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "自動備份間隔" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "指定自动备份之间的间隔天数" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "任务删除间隔" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "后台任务结果将在指定天数后删除" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "错误日志删除间隔" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "错误日志将在指定天数后被删除" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "通知删除间隔" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "用户通知将在指定天数后被删除" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "条形码支持" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "在网页界面启用条形码扫描器支持" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "条形码扫描延迟设置" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "条形码输入处理延迟时间" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "条码摄像头支持" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "允许通过网络摄像头扫描条形码" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "条形码显示数据" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "在浏览器中将条形码数据显示为文本" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "条形码生成插件" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "用于内部条形码数据生成的插件" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "零件修订" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "启用零件修订字段" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "仅限装配修订版本" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "仅允许对装配零件进行修订" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "允许从装配中删除" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "允许删除已在装配中使用的零件" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "IPN 内部零件号" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "匹配零件 IPN(内部零件号)的正则表达式模式" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "允许重复的 IPN(内部零件号)" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "允许多个零件共享相同的 IPN(内部零件号)" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "允许编辑 IPN(内部零件号)" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "允许编辑零件时更改内部零件号" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "复制零件物料清单数据" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "复制零件时默认复制物料清单数据" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "复制零件参数数据" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "复制零件时默认复制参数数据" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "复制零件测试数据" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "复制零件时默认复制测试数据" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "复制类别参数模板" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "模板" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "零件默认为模板" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "默认情况下,元件可由其他零件组装而成" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "组件" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "默认情况下,零件可用作子部件" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "默认情况下可购买零件" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "可销售" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "零件默认为可销售" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "默认情况下可跟踪零件" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "虚拟的" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "默认情况下,零件是虚拟的" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "在视图中显示导入" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "在某些零件视图中显示导入向导" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "显示相关零件" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "显示零件的相关零件" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "初始库存数据" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "允许在添加新零件时创建初始库存" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "初始供应商数据" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "允许在添加新零件时创建初始供应商数据" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "零件名称显示格式" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "显示零件名称的格式" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "零件类别默认图标" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "零件类别默认图标 (空表示没有图标)" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "强制参数单位" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "如果提供了单位,参数值必须与指定的单位匹配" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "最小定价小数位数" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "呈现定价数据时显示的最小小数位数" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "最大定价小数位数" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "呈现定价数据时显示的最大小数位数" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "使用供应商定价" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "将供应商的价批发价纳入总体定价计算中" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "购买历史记录覆盖" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "历史采购订单定价优先于供应商批发价" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "使用库存项定价" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "使用手动输入的库存数据进行定价计算" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "库存项目定价时间" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "从定价计算中排除超过此天数的库存项目" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "使用变体定价" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "在整体定价计算中包括变体定价" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "仅限活跃变体" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "仅使用活跃变体零件计算变体价格" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "价格重建间隔" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "零件价格自动更新前的天数" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "启用内部零件价格" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "覆盖内部价格" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "如果有内部价格,内部价格将覆盖价格范围计算" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "启用标签打印功能" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "启用从网络界面打印标签" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "标签图片 DPI" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "生成图像文件以供标签打印插件使用时的 DPI 分辨率" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "启用报告" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "启用报告生成" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "以调试模式生成报告(HTML 输出)" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "日志错误报告" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "记录生成报告时出现的错误" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "PDF 报告默认页面大小" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "启用测试报告" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "添加测试报告" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "在打印测试报告时,将测试报告副本附加到相关的库存项" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "全局唯一序列号" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "库存项的序列号必须全局唯一" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "自动填充序列号" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "在表格中自动填充序列号" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "删除已耗尽的库存" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "设置库存耗尽时的默认行为" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "批号模板" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "为库存项生成默认批号的模板" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "库存过期" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "启用库存过期功能" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "库存过期时间" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "库存项在到期前被视为过期的天数" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "生产过期库存" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "允许用过期的库存生产" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "启用库存地点和项目的所有权控制" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "库存地点默认图标" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "库存地点默认图标 (空表示没有图标)" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "显示已安装的库存项" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "在库存表中显示已安装的库存项" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "在安装项目时检查物料清单" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "已安装的库存项目必须存在于上级零件的物料清单中" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "允许超出库存转移" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "允许非库存的库存项目在库存位置之间转移" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "生产订单参考模式" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "生成生产订单参考字段所需的模式" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "要求负责人" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "必须为每个订单分配一个负责人" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "需要活动零件" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "防止为非活动零件创建生产订单" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "需要锁定零件" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "防止为未锁定的零件创建生产订单" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "需要有效的物料清单" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "除非物料清单已验证,否则禁止创建生产订单" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "需要关闭子订单" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "在所有子订单关闭之前,阻止生产订单的完成" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "阻止直到测试通过" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "在所有必要的测试通过之前,阻止产出完成" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "启用订单退货" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "在用户界面中启用订单退货功能" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "退货订单参考模式" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "生成退货订单参考字段所需的模式" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "编辑已完成的退货订单" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "允许编辑已完成的退货订单" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "销售订单参考模式" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "生成销售订单参考字段所需参照模式" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "销售订单默认配送方式" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "启用创建销售订单的默认配送功能" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "编辑已完成的销售订单" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "允许在订单配送或完成后编辑销售订单" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "标记该订单为已完成?" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "标记为已发货的销售订单将自动完成,绕过“已发货”状态" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "采购订单参考模式" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "生成采购订单参考字段所需的模式" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "编辑已完成的采购订单" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "允许在采购订单已配送或完成后编辑订单" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "自动完成采购订单" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "当收到所有行项目时,自动将采购订单标记为完成" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "忘记启用密码" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "在登录页面上启用忘记密码功能" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "启用注册" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "在登录页面为用户启用自行注册功能" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "启用单点登录" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "在登录界面启用单点登录" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "启用单点登录注册" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "允许登录页面上的用户通过 SSO 进行自我注册" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "启用单点登录群组同步" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "启用库存管理系统组和由身份提供者提供的组的同步功能" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "单点登录系统组密钥" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "由身份提供者提供的组声明属性名称" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "单点登录系统组地图" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "从单点登录系统组组到本地库存管理系统组的映射。如果本地组不存在,它将被创建。" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "移除单点登录系统以外的群组" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "如果分配给用户的组不是身份提供者的后端,是否应该删除它们。禁用此设置可能会造成安全问题" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "需要邮箱地址" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "要求用户在注册时提供邮件" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "自动填充单点登录系统用户" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "自动使用单点登录系统账户的数据填写用户详细信息" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "发两次邮件" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "注册时询问用户他们的电子邮件两次" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "两次输入密码" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "当注册时请用户输入密码两次" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "域名白名单" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "限制注册到某些域名 (逗号分隔,以 @ 开头)" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "注册群组" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "注册时分配给新用户的组。 如果启用了单点登录系统群组同步,此群组仅在无法从 IdP 分配任何群组的情况下才被设置。" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "强制启用多因素安全认证" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "用户必须使用多因素安全认证。" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "启动时检查插件" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "启动时检查全部插件是否已安装 - 在容器环境中启用" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "检查插件更新" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "启用定期检查已安装插件的更新" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "启用统一资源定位符集成" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "启用插件以添加统一资源定位符路由" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "启用导航集成" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "启用插件以集成到导航中" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "启用应用集成" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "启用插件添加应用" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "启用调度集成" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "启用插件来运行预定任务" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "启用事件集成" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "启用插件响应内部事件" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "启用项目编码" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "启用项目编码来跟踪项目" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "盘点功能" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "启用盘点功能以记录库存水平和计算库存值" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "排除外部地点" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "从盘点计算中排除外部地点的库存项" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "自动盘点周期" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "自动盘点记录之间的天数 (设置为零以禁用)" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "报告删除间隔" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "盘点报告将在指定天数后删除" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "显示用户全名" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "显示用户全名而不是用户名" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "启用测试站数据" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "启用测试站数据收集以获取测试结果" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "设置键 (必须是唯一的,不区分大小写" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "隐藏非活动零件" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "隐藏主页上显示的结果中的非活动零件" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "显示已订阅的零件" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "在主页上显示已订阅的零件" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "显示已订阅的类别" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "在主页上显示已订阅的零件类别" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "显示最新零件" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "在主页上显示最新零件" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "显示无效的物料清单" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "在主页上显示等待验证的物料清单" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "显示最近的库存变动" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "在主页上显示最近更改的库存项目" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "显示低库存" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "在主页上显示低库存商品" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "显示已耗尽的库存" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "在主页上显示已耗尽的库存项目" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "显示所需库存" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "在主页上显示构建所需的库存项目" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "显示过期库存" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "在主页上显示过期的库存项目" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "显示过期库存" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "在主页上显示过期库存商品" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "显示待处理的构建" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "在主页上显示待处理的构建" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "显示过期的构建" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "在主页上显示过期的构建" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "显示出色的PO" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "在主页上显示优秀的PO" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "显示过期订单" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "在主页上显示逾期订单" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "展示杰出的SO" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "在主页上显示优秀的SO" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "显示过期的SO" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "在主页上显示过期的SO" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "显示待处理的SO发货" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示待处理的SO发货" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "显示新闻" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "在主页上显示新闻" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "内联标签显示" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示PDF标签,而不是作为文件下载" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "默认标签打印机" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "配置默认情况下应选择哪个标签打印机" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "内联报告显示" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示PDF报告,而不是作为文件下载" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "搜索零件" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "在搜索预览窗口中显示零件" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "搜索供应商零件" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "在搜索预览窗口中显示供应商零件" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "搜索制造商零件" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "在搜索预览窗口中显示制造商零件" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "隐藏非活动零件" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "从搜索预览窗口中排除非活动零件" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "搜索分类" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "在搜索预览窗口中显示零件类别" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "搜索库存" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "在搜索预览窗口中显示库存项目" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "隐藏不可用的库存项目" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "排除搜索预览窗口中不可用的库存项目" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "搜索地点" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "在搜索预览窗口中显示库存位置" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "搜索公司" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "在搜索预览窗口中显示公司" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "搜索生产订单" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "在搜索预览窗口中显示生产订单" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "搜索采购订单" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "在搜索预览窗口中显示采购订单" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "排除未激活的采购订单" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "从搜索预览窗口中排除不活动的采购订单" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "搜索销售订单" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "在搜索预览窗口中显示销售订单" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "排除未激活的销售订单" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "从搜索预览窗口中排除不活动的销售订单" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "搜索退货订单" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "在搜索预览窗口中显示退货订单" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "排除未激活的退货订单" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "从搜索预览窗口中排除不活动的退货订单" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "在搜索预览窗口的每个部分中显示的结果数" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "正则表达式搜索" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "在搜索查询中启用正则表达式" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "整词搜索" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "搜索查询返回整词匹配的结果" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "以某些形式显示可用零件数量" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "Esc键关闭窗体" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "使用ESC键关闭模态窗体" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "固定导航栏" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "导航栏位置固定在屏幕顶部" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "时间格式" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "显示时间的首选格式" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "零件调度" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "显示零件排程信息" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "零件盘点" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "显示零件盘点信息 (如果启用了盘点功能)" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "表字符串长度" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "表视图中显示的字符串的最大长度限制" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "接收错误报告" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "接收系统错误通知" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "上次使用的打印设备" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "为用户保存上次使用的打印设备" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "使用者" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "批发价数量" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "价格" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "指定数量的单位价格" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "端点" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "接收此网络钩子的端点" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "此网络钩子的名称" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "网络钩子是否已启用" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "令牌" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "访问令牌" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "密钥" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "HMAC共享密钥" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "消息ID" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "此邮件的唯一标识符" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "主机" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "接收此消息的主机" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "标题" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "此消息的标题" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "正文" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "此消息的正文" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "接收此消息的终点" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "工作于" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "这条消息的工作完成了吗?" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "标识" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "标题" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "标题" msgid "Link" msgstr "連結" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "已发布" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "作者" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "摘要" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "阅读" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "这条新闻被阅读了吗?" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "这条新闻被阅读了吗?" msgid "Image" msgstr "图像" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "图像文件" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "此图像的目标模型类型" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "此图像的目标型号ID" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "自定义单位" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "单位符号必须唯一" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "单位名称必须是有效的标识符" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "单位名称" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "符号" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "可选单位符号" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "定义" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "单位定义" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "附件" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "缺少檔案" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "缺少外部連結" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "選擇附件" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "註解" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "附件评论" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "上传日期" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "上传文件的日期" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "文件大小" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "文件大小,以字节为单位" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "为附件指定的模型类型无效" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "键" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "新建{verbose_name}" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "新订单已创建并分配给您" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "{verbose_name} 已取消" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "分配给您的订单已取消" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "收到的物品" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "已根据采购订单收到物品" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "已收到退货订单中的物品" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "插件引发的错误" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "正在运行" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "等待完成的任务" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "预定的任务" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "失败的任务" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "任务ID" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "唯一任务ID" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "锁定" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "锁定时间" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "任务名称" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "功能" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "功能名称" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "参数" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "任务参数" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "关键字参数" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "任务关键词参数" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "檔案名稱" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "模型类型" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "用户无权为此模式创建或编辑附件" @@ -4116,15 +4217,15 @@ msgstr "匹配字段" msgid "Match Items" msgstr "匹配项目" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "字段匹配失败" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "已导入零件" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "内部零件已激活" msgid "Supplier is Active" msgstr "供应商已激活" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "公司" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "公司" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "公司简介" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "公司简介" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "网站" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "公司网站" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "电话号码" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "联系电话" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "联系人电子邮箱地址" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "联系人" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "联络点" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "外部公司信息链接" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "这家公司是否激活?" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "是客户" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "你是否向该公司出售商品?" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "是否为供应商" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "你从这家公司买东西吗?" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "是制造商吗" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "这家公司生产零件吗?" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "此公司使用的默认货币" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "地址" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "地址" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "选择公司" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "地址标题" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "描述地址条目的标题" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "主要地址" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "设置主要地址" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "第1行" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "地址行1" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "第2行" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "地址行2" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "邮政编码" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "城市/地区" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "邮政编码城市/地区" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "省/市/自治区" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "省、自治区或直辖市" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "国家/地区" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "地址所在国家" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "快递运单" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "运输快递注意事项" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "内部装运通知单" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "内部使用的装运通知单" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "链接地址信息 (外部)" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "制造商零件" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "基础零件" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "选择零件" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "选择零件" msgid "Manufacturer" msgstr "制造商" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "选择制造商" msgid "MPN" msgstr "制造商零件编号" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "外部制造商零件链接的URL" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "制造商零件说明" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "制造商零件参数" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "值" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "参数值" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "单位" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "供应商零件" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "包装单位必须与基础零件单位兼容" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "包装单位必须大于零" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "链接的制造商零件必须引用相同的基础零件" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "链接的制造商零件必须引用相同的基础零件" msgid "Supplier" msgstr "供应商" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "供应商库存管理单位" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "此供应商零件是否处于活动状态?" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "选择制造商零件" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "外部供应商零件链接的URL" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "供应商零件说明" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "备注" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "基本费用" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低费用(例如库存费)" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "零件打包" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "零件打包" msgid "Pack Quantity" msgstr "包装数量" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "单包供应的总数量。为单个项目留空。" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "多个" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "订购多个" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "供应商提供的数量" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "可用性已更新" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "上次更新可用性数据的日期" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "供应商批发价" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "此供应商使用的默认货币" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "公司名称" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "从 URL 下载图像" msgid "Delete image" msgstr "删除图像" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "客户" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "电话" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "移除图像" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "从此公司中删除关联的图像" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "移除" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "上传图像" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "下载图像" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "删除制造商零件" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "内部零件" @@ -4838,7 +4939,7 @@ msgstr "没有可用的制造商信息" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "删除供应商零件" msgid "No supplier information available" msgstr "没有可用的供应商信息" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "更新零件可用性" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "库存项" @@ -5022,99 +5123,107 @@ msgstr "新建客户" msgid "New Company" msgstr "新建公司信息" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "放置" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "导出格式无效" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "时间戳" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "要导入的数据文件" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "列" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "导入状态" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "字段默认值" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "字段覆盖" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "字段筛选器" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "某些必填字段尚未映射" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "列已映射到数据库字段" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "字段已映射到数据列" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "列映射必须链接到有效的导入会话" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "数据文件中不存在列" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "目标模型中不存在字段" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "所选字段为只读" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "导入会话" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "字段" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "列" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "行索引" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "原始行数据" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "数据" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "错误" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "有效" @@ -5166,19 +5275,19 @@ msgstr "行包含无效数据" msgid "Row has already been completed" msgstr "行已完成" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "正在初始化" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "映射列" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "导入数据" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "处理数据中" @@ -5202,52 +5311,52 @@ msgstr "数据文件包含的行太多" msgid "Value must be a valid dictionary object" msgstr "值必须是有效的字典对象" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "拷贝" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "每个标签要打印的份数" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "已连接" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "未知" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "正在打印" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "无媒体" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "卡纸" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "已断开连接" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "标签打印机" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "直接打印各种物品的标签。" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "打印机位置" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "将打印机定位到特定位置" @@ -5303,7 +5412,7 @@ msgstr "设备配置" msgid "Config type" msgstr "配置类型" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "配置类型" msgid "Total Price" msgstr "总价格" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "有定价" msgid "No matching purchase order found" msgstr "未找到匹配的采购订单" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "订单" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "订单完成" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "订单待定" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "采购订单" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "退货订单" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "此订单的总价" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "订单货币" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "此订单的货币 (留空以使用公司默认值)" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "联系人与所选公司不匹配" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "订单描述 (可选)" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "为此订单选择项目编码" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "链接到外部页面" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "订单交付的预期日期。订单将在此日期后过期。" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "创建人" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "负责此订单的用户或组" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "此订单的联系人" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "此订单的公司地址" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "订单参考" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "采购订单状态" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "订购物品的公司" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "供应商参考" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "供应商订单参考代码" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "接收人" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "签发日期" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "订单发出日期" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "订单完成日期" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "零件供应商必须与采购订单供应商匹配" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "数量必须是正数" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "出售物品的公司" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "销售订单状态" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "客户参考 " -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "客户订单参考代码" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "发货日期" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "发货人" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "订单已完成" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "订单已取消" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "只有未结订单才能标记为已完成" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "由于发货不完整,订单无法完成" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "订单无法完成,因为行项目不完整" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "项目数量" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "行项目参考" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "行项目注释" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "此行项目的目标日期 (留空以使用订单中的目标日期)" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "行项目描述 (可选)" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "上下文" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "此行的附加上下文" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "单位价格" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "采购订单行项目" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "供应商零件必须与供应商匹配" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "已删除" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "供应商零件" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "供应商零件" msgid "Received" msgstr "已接收" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "收到的物品数量" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "每单位的采购价格" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "买方希望将此物品存放在哪里?" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "采购订单附加行" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "销售订单行项目" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "虚拟零件不能分配给销售订单" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "只有可销售的零件才能分配给销售订单" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "售出价格" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "单位售出价格" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "已配送" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "发货数量" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "销售订单发货" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "发货日期" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "送达日期" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "装运交货日期" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "审核人" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "检查此装运的用户" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "配送" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "配送单号" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "跟踪单号" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "配送跟踪信息" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "发票编号" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "相关发票的参考号" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "货物已发出" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "发货没有分配库存项目" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "销售订单加行" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "销售订单分配" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "库存项目尚未分配" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "无法将库存项目分配给具有不同零件的行" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "无法将库存分配给没有零件的生产线" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "分配数量不能超过库存数量" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "序列化库存项目的数量必须为1" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "销售订单与发货不匹配" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "发货与销售订单不匹配" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "行" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "销售订单发货参考" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "项目" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "选择要分配的库存项目" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "输入库存分配数量" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "退货订单参考" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "退回物品的公司" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "退货订单状态" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "退货订单行项目" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "只有序列化的项目才能分配给退货订单" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "选择要从客户处退回的商品" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "接收日期" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "收到此退货的日期" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "结果" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "该行项目的结果" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "与此行项目的退货或维修相关的成本" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "退货订单附加行" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "已完成行项目" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "供应商名称" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "订单不能取消" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "允许关闭行项目不完整的订单" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "订单中的行项目不完整" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "订单未打开" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "自动定价" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "根据供应商零件数据自动计算采购价格" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "购买价格货币" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "合并项目" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "将具有相同零件、目的地和目标日期的项目合并到一个行项目中" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "内部零件编号" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "内部零件名称" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "必须指定供应商零件" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "必须指定采购订单" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "供应商必须匹配采购订单" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "采购订单必须与供应商匹配" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "行项目" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "行项目与采购订单不匹配" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "为收到的物品选择目的地位置" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "输入入库项目的批号" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "输入入库库存项目的序列号" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "覆盖传入库存项目的包装资料" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "传入库存项目的附加说明" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "扫描条形码" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "条形码已被使用" @@ -5910,7 +6019,7 @@ msgstr "条形码已被使用" msgid "An integer quantity must be provided for trackable parts" msgstr "必须为可跟踪零件提供整数数量" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "必须提供行项目" @@ -5922,59 +6031,59 @@ msgstr "必须指定目标位置" msgid "Supplied barcode values must be unique" msgstr "提供的条形码值必须是唯一的" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "售出价格货币" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "未提供装运详细信息" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "行项目与此订单不关联" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "数量必须为正" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "输入要分配的序列号" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "货物已发出" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "发货与此订单无关" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "未找到以下序列号的匹配项" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "以下序列号已分配" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "退货订单行项目" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "行项目与退货订单不匹配" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "行项目已收到" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "只能根据正在进行的订单接收物品" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "行价格货币" @@ -5982,7 +6091,7 @@ msgstr "行价格货币" msgid "Lost" msgstr "丢失" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "已退回" @@ -6184,8 +6293,8 @@ msgstr "重复选项" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "待发货" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "动作" @@ -6401,21 +6510,22 @@ msgstr "更新零件{part} 单价到{price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "更新零件 {part} 单价到 {price} 且更新数量到 {qty}" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "内部零件号 IPN" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "版本" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "关键词" @@ -6427,7 +6537,7 @@ msgstr "零件图像" msgid "Category ID" msgstr "类别 ID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "类别名称" @@ -6440,11 +6550,11 @@ msgstr "默认位置ID" msgid "Default Supplier ID" msgstr "默认供应商ID" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "变体" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "最低库存" @@ -6452,23 +6562,23 @@ msgstr "最低库存" msgid "Used In" msgstr "用于" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "正在生产" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "最低成本" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "最高成本" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "父类编号" @@ -6481,8 +6591,8 @@ msgstr "父类名称" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "父类内部零件号" msgid "Part Revision" msgstr "零件修订版本" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "最低价格" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "顶级" msgid "Filter by top-level categories" msgstr "按顶级类别筛选" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "级联" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "在筛选结果中包含子类别" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "父类" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "按父类别筛选" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "排除树" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "排除指定类别下的子类别" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "有结果" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "收到的采购订单" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "外发销售订单" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "建造生产订单产生的库存" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "生产订单所需的库存" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "验证整个物料清单" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "必须选择此项" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "是修订版本" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "有修订版本" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "物料清单合规" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "类别" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "使用" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "默认位置" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "库存总量" @@ -6641,421 +6755,421 @@ msgstr "库存总量" msgid "Input quantity for price calculation" msgstr "输入用于价格计算的数量" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "零件类别" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "零件类别" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "此类别零件的默认库存地点" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "结构性" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "零件可能无法直接分配到结构类别,但可以分配到子类别。" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "默认关键字" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "此类别零件的默认关键字" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "图标" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "图标(可选)" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "您不能使这个零件类别结构化,因为有些零件已经分配给了它!" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "无法删除这个零件,因为它已被锁定" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "无法删除这个零件,因为它仍然处于活动状态" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "无法删除这个零件,因为它被使用在了装配中" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "无效的上级零件选择" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "零件 \"{self}\" 不能用在 \"{parent}\" 的物料清单 (递归)" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "零件 \"{parent}\" 被使用在了 \"{self}\" 的物料清单 (递归)" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "内部零件号必须匹配正则表达式 {pattern}" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "零件不能是对自身的修订" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "无法对已经是修订版本的零件进行修订" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "必须指定修订代码" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "修订仅对装配零件允许" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "无法对模版零件进行修订" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "上级零件必须指向相同的模版" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "该序列号库存项己存在" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "在零件设置中不允许重复的内部零件号" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "重复的零件修订版本已经存在。" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "有这个名字,内部零件号,和修订版本的零件已经存在" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "零件不能分配到结构性零件类别!" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "零件名称" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "是模板" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "这个零件是一个模版零件吗?" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "这个零件是另一零件的变体吗?" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "零件描述(可选)" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的零件关键字" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "零件类别" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "零件修订版本或版本号" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "这零件是另一零件的修订版本吗?" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "修订版本" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "该物品通常存放在哪里?" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "默认供应商" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "默认供应商零件" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "默认到期" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "此零件库存项的过期时间 (天)" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "允许的最小库存量" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "此零件的计量单位" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "这个零件可由其他零件加工而成吗?" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "这个零件可用于创建其他零件吗?" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "此零件是否有唯一物品的追踪功能" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "这个零件可从外部供应商购买吗?" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "此零件可以销售给客户吗?" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "这个零件是否已激活?" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "已锁定" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "无法编辑锁定的零件" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟零件,例如一个软件产品或许可证吗?" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "物料清单校验和" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "保存的物料清单校验和" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "物料清单检查人" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "物料清单检查日期" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "此零件的负责人" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "最近库存盘点" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "出售多个" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "用于缓存定价计算的货币" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "最低物料清单成本" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "元件的最低成本" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "物料清单的最高成本" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "元件的最高成本" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "最低购买成本" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "最大购买成本" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "最低内部价格" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "基于内部批发价的最低成本" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "最大内部价格" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "基于内部批发价的最高成本" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "供应商最低价格" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "外部供应商零件的最低价格" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "供应商最高价格" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "来自外部供应商的商零件的最高价格" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "最小变体成本" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "计算出的变体零件的最低成本" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "最大变体成本" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "计算出的变体零件的最大成本" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "覆盖最低成本" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "覆盖最大成本" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "计算总最低成本" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "计算总最大成本" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "最低售出价格" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "基于批发价的最低售出价格" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "最高售出价格" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "基于批发价的最大售出价格" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "最低销售成本" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "历史最低售出价格" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "最高销售成本" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "历史最高售出价格" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "用于盘点的零件" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "物品数量" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "盘点时的个别库存条目数" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "盘点时可用库存总额" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "盘点时可用库存总额" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "日期" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "进行盘点的日期" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "附加注释" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "进行此盘点的用户" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "最低库存成本" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "现有存库存最低成本估算" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "最高库存成本" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "目前库存最高成本估算" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "报告" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "盘点报告文件(内部生成)" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "零件计数" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "盘点涵盖的零件数量" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "请求此盘点报告的用户" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "零件售出价格折扣" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "零件测试模板" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "模板名称无效 - 必须包含至少一个字母或者数字" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "选择必须是唯一的" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "只能为可跟踪的零件创建测试模板" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "零件已存在具有相同主键的测试模板" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "测试名" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "输入测试的名称" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "测试主键" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "简化测试主键" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "测试说明" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "输入测试的描述" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "已启用" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "此测试是否已启用?" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "必须的" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "需要此测试才能通过吗?" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "需要值" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "添加测试结果时是否需要一个值?" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "需要附件" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "添加测试结果时是否需要文件附件?" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "选项" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "此测试的有效选择 (逗号分隔)" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "零件参数模板" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "勾选框参数不能有单位" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "复选框参数不能有选项" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "参数模板名称必须是唯一的" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "参数名称" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "此参数的物理单位" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "参数说明" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "勾选框" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "此参数是否为勾选框?" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "此参数的有效选择 (逗号分隔)" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "零件参数" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "参数不能被修改 - 零件被锁定" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "无效的参数值选择" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "父零件" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "参数值" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "零件类别参数模板" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "默认值" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "默认参数值" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "零件ID或零件名称" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "唯一零件ID值" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "零件内部零件号" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "级" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "物料清单级别" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "物料清单项目不能被修改 - 装配已锁定" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "物料清单项目不能修改 - 变体装配已锁定" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "选择父零件" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "子零件" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "选择要用于物料清单的零件" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "此物料清单项目的数量" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "此物料清单项目是可选的" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "这个物料清单项目是耗材 (它没有在生产订单中被追踪)" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "超量" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "估计生产物浪费量(绝对值或百分比)" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "物料清单项目引用" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "物料清单项目注释" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "校验和" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "物料清单行校验和" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "已验证" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "此物料清单项目已验证" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "获取继承的" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "此物料清单项目是由物料清单继承的变体零件" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "变体零件的库存项可以用于此物料清单项目" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "可追踪零件的数量必须是整数" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "必须指定子零件" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "物料清单项目替代品" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "替代品零件不能与主零件相同" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "上级物料清单项目" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "替代品零件" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "零件 1" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "零件2" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "选择相关的零件" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "零件关系不能在零件和自身之间创建" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "复制关系已经存在" @@ -7449,7 +7563,7 @@ msgstr "结果" msgid "Number of results recorded against this template" msgstr "根据该模板记录的结果数量" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "购买此库存项的货币" @@ -7457,326 +7571,326 @@ msgstr "购买此库存项的货币" msgid "Number of parts using this template" msgstr "使用此模板的零件数" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "没有选定零件" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "选择类别" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "原始零件" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "选择要复制的原始零件" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "复制图片" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "从原零件复制图片" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "复制物料清单" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "从原始零件复制材料清单" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "复制参数" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "从原始零件复制参数数据" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "复制备注" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "从原始零件复制备注" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "初始化库存数量" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "指定此零件的初始库存数量。如果数量为零,则不添加任何库存。" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "初始化库存地点" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "初始化指定此零件的库存地点" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "选择供应商(或为空以跳过)" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "选择制造商(或为空)" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "制造商零件号" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "所选公司不是一个有效的供应商" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "所选公司不是一个有效的制造商" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "与此制造商零件编号 (MPN) 的相匹配的制造商零件已存在" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "匹配此库存单位 (SKU) 的供应商零件已存在" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "修订" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "未分配的库存" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "变体库存" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "重复零件" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "从另一个零件复制初始数据" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "初始库存" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "创建具有初始库存数量的零件" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "供应商信息" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供应商信息" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "从选择的零件复制参数模版" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "现有的图片" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "现有零件图片的文件名" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "图片不存在" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "限制盘点报告到某个特定零件以及任何变体零件" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "限制盘点报告到某个特定零件类别以及任何子类别" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "限制盘点报告到某个特定零件库存地点以及任何子位置" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "排除外部库存" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "排除外部位置的库存项" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "生成报告" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "生成包含计算出来的盘点数据的报告文件" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "更新零件" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "使用计算出的盘点数据更新指定零件" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "盘点功能未启用" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "覆盖已计算的最低价格值" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "最低价格货币" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "覆盖已计算的最高价格值" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "最高价格货币" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "更新" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "更新这个零件的价格" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "无法将所提供的货币转换为 {default_currency}" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "最低价格不能高于最高价格。" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "最高价格不能低于最低价格" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "选择父装配" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "元件名称" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "元件内部零件号" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "元件描述" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "选择零部件" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "可以创建" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "选择要复制物料清单的零件" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "移除现有数据" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "复制前删除现有的物料清单项目" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "包含继承的" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "包含从模板零件继承的物料清单项目" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "跳过无效行" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "启用此选项以跳过无效行" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "复制替代品零件" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "复制物料清单项目时复制替代品零件" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "清除现有的物料清单" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "上传前删除现有的物料清单项目" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "未指定零件列" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "找到多个匹配的零件。" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "没有找到匹配的零件" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "零件未指定为元件" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "未提供数量" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "无效的数量" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "至少需要一个物料清单项目" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "添加盘点信息" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "库存盘点" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "零件是虚拟的(不是实体零件)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "显示零件详情" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "分配到生产订单" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "分配到销售订单" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "最低库存水平" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "价格范围" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "最新序列号" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "搜索序列号" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "零件二维码" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "关联条形码到零件" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "计算" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "删除与零件关联的图片" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "没有找到匹配的图片" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "隐藏零件详细信息" @@ -8288,7 +8406,7 @@ msgstr "变体" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "庫存" @@ -8330,11 +8448,11 @@ msgstr "覆盖零件价格" msgid "Edit" msgstr "编辑" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "最近更新" @@ -8498,8 +8616,8 @@ msgstr "未指定操作" msgid "No matching action found" msgstr "未找到指定操作" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "未找到匹配条形码数据" @@ -8524,52 +8642,52 @@ msgstr "条形码匹配现有项目" msgid "No matching part data found" msgstr "没有找到匹配的零件数据" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "没有找到匹配的供应商零件" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "找到多个匹配的供应商零件" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "匹配的供应商零件" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "项目已被接收" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "供应商条形码没有匹配" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "找到多个匹配的行项目" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "未找到匹配的行项目" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "条形码与现有的库存项不匹配" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "库存项与行项目不匹配" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "可用库存不足" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "库存项已分配到销售订单" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "没有足够的信息" @@ -8591,15 +8709,15 @@ msgstr "没有找到匹配的采购订单 '{order}'" msgid "Purchase order does not match supplier" msgstr "采购订单不匹配供应商" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "未找到供应商零件待处理行项目" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "需要更多信息以接收行项目" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "已收到采购订单行项目" @@ -8756,7 +8874,7 @@ msgstr "Slack传入Webhook url" msgid "URL that is used to send messages to a slack channel" msgstr "用于发送消息到slack频道的 URL" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "打开链接" @@ -8894,7 +9012,7 @@ msgstr "为扫描 TME 条形码提供支持" msgid "The Supplier which acts as 'TME'" msgstr "作为‘TME’的供应商" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "只有员工用户可以管理插件" @@ -8902,36 +9020,36 @@ msgstr "只有员工用户可以管理插件" msgid "Plugin installation is disabled" msgstr "插件安装已禁用" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "插件安装成功" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "插件安装到 {path}" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "在插件仓库中找不到插件" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "插件不是一个打包的插件" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "找不到插件包名称" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "插件卸载已禁用" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "插件无法卸载,因为它目前处于激活状态" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "插件卸载成功" @@ -8943,10 +9061,6 @@ msgstr "插件配置" msgid "Plugin Configurations" msgstr "插件配置" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "键" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "插件的键" @@ -8994,7 +9108,7 @@ msgstr "插件" msgid "Method" msgstr "方法" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "未找到作者" @@ -9091,43 +9205,43 @@ msgstr "安装尚未确认" msgid "Either packagename of URL must be provided" msgstr "必须提供软件包名称或者URL" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "完全重载" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "执行插件库的完整重载" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "强制重载" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "强制重载插件库,即使已经加载" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "收集插件" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "收集插件并添加到注册表中" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "激活插件" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "激活此插件" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "删除配置" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "从数据库中删除插件配置" @@ -9264,7 +9378,7 @@ msgstr "要处理的项目数量" msgid "Report generation is complete" msgstr "报告生成完成" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "进度" @@ -9403,7 +9517,7 @@ msgstr "测试结果" msgid "Test" msgstr "测试" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "结果" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "没有结果" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "已安装的项目" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "系列" @@ -9450,7 +9564,7 @@ msgstr "parpart_image 标签需要一个零件实例" msgid "company_image tag requires a Company instance" msgstr "公司_图片标签需要一个公司实例" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "位置 ID" @@ -9459,58 +9573,58 @@ msgstr "位置 ID" msgid "Location Path" msgstr "地点路径" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "库存项 ID" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "状态代码" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "供应商零件 ID" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "供应商零件库存保管单元" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "供应商 ID" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "客户 ID" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "安装于" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "生产 ID" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "销售订单 ID" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "采购订单 ID" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "需要审核" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "在消耗品上删除" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "有效期至" @@ -9526,628 +9640,628 @@ msgstr "按顶级位置筛选" msgid "Include sub-locations in filtered results" msgstr "在筛选结果中包含子地点" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "上级地点" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "按上级位置筛选" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "外部地点" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "零件树" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "过期日期前" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "过期日期后" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "过期" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "请先输入数量" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "必须提供有效的零件" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "给定的供应商零件不存在" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "供应商零件有定义的包装大小,但 use_pack_size 标志未设置" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "不能为不可跟踪的零件提供序列号" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "库存地点类型" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "库存地点类型" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "为所有没有图标的位置设置默认图标(可选)" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "库存地点" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "库存地点" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "所有者" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "选择所有者" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "库存项可能不直接位于结构库存地点,但可能位于其子地点。" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "外部" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "这是一个外部库存地点" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "位置类型" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "该位置的库存地点类型" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "您不能将此库存地点设置为结构性,因为某些库存项已经位于它!" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "库存项不能存放在结构性库存地点!" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "无法为虚拟零件创建库存项" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "零件类型 ('{self.supplier_part.part}') 必须为 {self.part}" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "有序列号的项目的数量必须是1" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "如果数量大于1,则不能设置序列号" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "项目不能属于其自身" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "如果is_building=True,则项必须具有构建引用" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "构建引用未指向同一零件对象" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "母库存项目" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "基础零件" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "为此库存项目选择匹配的供应商零件" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "这个库存物品在哪里?" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "包装此库存物品存储在" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "此项目是否安装在另一个项目中?" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "此项目的序列号" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "此库存项的批号" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "库存数量" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "源代码构建" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "为此库存项目构建" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "消费者" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "构建消耗此库存项的生产订单" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "采购订单来源" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "此库存商品的采购订单" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "目的地销售订单" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "库存物品的到期日。在此日期之后,库存将被视为过期" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "耗尽时删除" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "当库存耗尽时删除此库存项" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "购买时一个单位的价格" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "转换为零件" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "零件未设置为可跟踪" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "数量必须是整数" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "数量不得超过现有库存量 ({self.quantity})" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "序列号必须是整数列表" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "数量不匹配序列号" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "测试模板不存在" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "库存项已分配到销售订单" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "库存项已安装在另一个项目中" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "库存项包含其他项目" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "库存项已分配给客户" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "库存项目前正在生产" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "序列化的库存不能合并" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "复制库存项" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "库存项必须指相同零件" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "库存项必须是同一供应商的零件" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "库存状态码必须匹配" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "库存项不能移动,因为它没有库存" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "库存项跟踪" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "条目注释" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "库存项测试结果" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "必须为此测试提供值" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "测试附件必须上传" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "此测试的值无效" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "测试结果" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "测试输出值" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "测验结果附件" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "测试备注" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "测试站" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "进行测试的测试站的标识符" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "已开始" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "测试开始的时间戳" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "已完成" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "测试结束的时间戳" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "生成批量代码" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "选择生产订单" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "选择要生成批量代码的库存项" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "选择要生成批量代码的位置" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "选择要生成批量代码的零件" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "选择采购订单" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "输入批量代码的数量" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "生成的序列号" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "选择要生成序列号的零件" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "要生成的序列号的数量" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "此结果的测试模板" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "必须提供模板 ID 或测试名称" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "测试完成时间不能早于测试开始时间" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "序列号太大" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "父项" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "父库存项" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "添加时使用包装尺寸:定义的数量是包装的数量" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "已过期" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "子项目" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "跟踪项目" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "此库存商品的购买价格,单位或包装" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "最低价格" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "最高价格" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "输入要序列化的库存项目数量" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "数量不得超过现有库存量 ({q})" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "可选注释字段" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "此零件不能分配序列号" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "选择要安装的库存项目" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "安装数量" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "输入要安装的项目数量" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "添加交易记录 (可选)" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "安装数量必须至少为1" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "库存项不可用" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "所选零件不在物料清单中" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "安装数量不得超过可用数量" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "已卸载项目的目标位置" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "不支持的统计类型: " -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "选择要将库存项目转换为的零件" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "所选零件不是有效的转换选项" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "无法转换已分配供应商零件的库存项" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "退回物品的目的地位置" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "选择要更改状态的库存项目" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "未选择库存商品" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "转租" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "上级库存地点" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "零件必须可销售" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "物料已分配到销售订单" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "项目被分配到生产订单中" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "客户分配库存项目" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "所选公司不是客户" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "库存分配说明" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "必须提供库存物品清单" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "库存合并说明" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "允许不匹配的供应商" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "允许合并具有不同供应商零件的库存项目" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "允许不匹配的状态" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "允许合并具有不同状态代码的库存项目" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "必须提供至少两件库存物品" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "无更改" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "库存项主键值" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "库存项状态代码" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "库存交易记录" @@ -10175,107 +10289,107 @@ msgstr "拒绝" msgid "Quarantined" msgstr "隔离" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "旧库存跟踪条目" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "库存项已创建" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "已编辑库存项" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "已分配序列号" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "库存计数" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "已手动添加库存" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "已手动删除库存" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "地点已更改" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "库存已更新" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "已安装到装配中" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "已从装配中删除" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "已安装组件项" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "已删除组件项" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "从上级项拆分" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "拆分子项" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "合并的库存项" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "转换为变体" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "已创建生产订单产出" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "生产订单已出产" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "生产订单产出被拒绝" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "被工單消耗的" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "按銷售訂單出貨" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "按採購訂單接收" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "按退貨訂單退回" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "寄送給客戶" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "從客戶端退回" @@ -10316,7 +10430,7 @@ msgstr "库存项目备注" msgid "Installed Stock Items" msgstr "已安装的库存项" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "安装库存项" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "转移库存" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "分配给客户" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "删除库存项" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "生产" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "导航到下一个序列号" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "未设置位置" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "未进行盘点" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "库存项" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "新建库存地点" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "库存位置" @@ -11109,7 +11223,7 @@ msgstr "汇率" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "删除" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "未找到项目编码" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "组" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "以下零件所需库存不足" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "所需数量" @@ -12156,7 +12270,7 @@ msgstr "为子组件加载物料清单" msgid "Substitutes Available" msgstr "替代品可用" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "已允许变体库存" @@ -12176,30 +12290,30 @@ msgstr "物料清单定价未完成" msgid "No pricing available" msgstr "无可用价格" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "外部库存" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "无可用库存" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "包括变体和替代品库存" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "包括变体库存" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "包括替代品库存" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "消耗品" @@ -12231,7 +12345,7 @@ msgstr "查看物料清单" msgid "No BOM items found" msgstr "未找到物料清单项目" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "必须零件" @@ -12243,396 +12357,396 @@ msgstr "从上级物料清单继承" msgid "Edit Build Order" msgstr "编辑生产订单" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "创建生产订单" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "取消生产订单" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "您确定要取消此生成吗?" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "库存项目已分配到此生产订单" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "此生产订单还有未完成的产出" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "生产订单已准备好标记为已完成" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "由于产出不完整,无法完成此生产订单" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "生产订单未完成" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "完成生产订单" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "下一个可用序列号" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "最新序列号" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "物料清单包含可跟踪的零件" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "必须单独生成生产输出" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "可跟踪零件可以指定序列号" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "输入序列号来生成多个单一生产输出" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "创建生产输出" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "分配库存项到此生产输出" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "从生产输出中取消分配库存" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "完成生产输出" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "报废生产输出" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "删除生产输出" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "您确定要取消分配此版本中选定的库存项目吗?" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "取消分配库存项目" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "选择生产输出" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "必须选择至少一个生产输出" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "选择的生产输出将被标记为完成" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "输出" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "完成生产输出" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "选择的生产输出将被标记为已报废" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "报废的输出被标记为拒收" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "已分配的库存物品将不再可用" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "生产订单的完成状态将不会调整" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "报废生产输出" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "选定的生产输出将被删除" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "生产输出数据将被永久删除" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "已分配的库存物品将退回库存" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "删除生产输出" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "删除分配" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "删除库存分配" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "未分配库存" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "库存项" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "编辑库存分配" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "删除构建分配" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "编辑构建分配" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "删除构建分配" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "未找到生产订单分配" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "未指定位置" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "已完成输出" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "报废输出" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "删除输出" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "生产输出" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "生产输出" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "生产输出操作" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "未找到激活的生产输出" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "已分配行" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "需要的测试" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "选择零件" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "您必须选择至少一个要分配的零件" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "指定库存分配数量" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "所有零件已分配" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "所有选定的零件均已完全分配" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "选择源位置 (留空以从所有位置取出)" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "分配库存项目给生产订单" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "没有匹配的库存位置" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "没有匹配的库存项" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "自动库存分配" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "根据提供的指导方针,库存物品将自动分配给此生产订单" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "如果指定了位置,则仅从该位置分配库存" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "如果认为库存可以互换,则将从找到的第一个位置进行分配" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "如果允许使用替代品,则将在找不到主要零件库存的情况下使用" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "分配库存物品" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "没有与查询匹配的构建" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "选择" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "生产订单已逾期" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "编辑库存分配" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "删除库存分配" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "编辑分配" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "删除分配" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "生产行" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "生产行" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "未找到生产行" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "可追踪零件" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "获取已继承的" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "单位数量" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "充足的库存" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "消耗品" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "跟踪项目" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "根据单个构建输出分配跟踪项目" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "生产库存" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "订单库存" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "分配库存" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "移除库存分配" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "无类别" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "按列表显示" @@ -13431,7 +13545,7 @@ msgstr "按网格显示" msgid "No subcategories found" msgstr "未找到子类别" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "树状显示" @@ -14284,7 +14398,7 @@ msgstr "拿出" msgid "Add Stock" msgstr "添加库存" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "添加" @@ -14308,7 +14422,7 @@ msgstr "调整批次代码" msgid "Adjust packaging" msgstr "调整包装" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "选择库存项" @@ -14388,216 +14502,216 @@ msgstr "分配给销售订单" msgid "No stock location set" msgstr "未设置库存位置" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "更改库存状态" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "合并库存" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "删除库存" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "库存项" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "扫描到位置" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "库存操作" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "加载已安装的项目" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "库存项正在生产" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "分配给销售订单的库存项目" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "分配给客户的库存项" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "已分配序列化库存项" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "库存项目已完全分配" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "库存项目已部分分配" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "库存项目已安装在另一个项目中" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "库存项已被生产订单消耗" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "库存项已过期" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "库存项即将过期" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "库存项已被拒绝" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "库存项丢失了" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "库存项已销毁" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "已用完" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "未指定供应商零件" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "库存值" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "没有符合查询的库存项目" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "库存地点" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "加载次级地点" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "无更改" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "零件信息不可用" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "位置不再存在" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "生产订单不再存在" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "采购订单不再存在" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "销售订单不再存在" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "退货订单已不存在" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "客户已不存在" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "库存项已不存在" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "已添加" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "已删除" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "没有已安装的项目" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "卸载库存项" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "选择要卸载的库存项" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "在此项中安装另一个库存项" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "只有满足以下条件,才能安装库存项目" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "库存项链接到一个零件,该零件是此库存项的物料清单" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "该库存项目前有库存" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "库存项目尚未安装在其他项目中" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "库存项被批号或序列号跟踪" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "选择要安装的零件" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "选择一个或多个库存项目" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "选定的库存项" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "更改库存状态" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "本周" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "本月" @@ -15141,27 +15255,27 @@ msgstr "是" msgid "No" msgstr "否" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "用户" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "选择分配给此组的用户" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "以下用户是多个组的成员" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "个人信息" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "权限" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "重要日期" @@ -15205,35 +15319,35 @@ msgstr "最近使用令牌的时间" msgid "Revoked" msgstr "撤销" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "权限设置" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "组" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "查看" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "查看项目的权限" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "添加项目的权限" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "更改" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "编辑项目的权限" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "删除项目的权限" diff --git a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po index c005383153..902606f4aa 100644 --- a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 01:22+0000\n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"POT-Creation-Date: 2024-08-26 23:06+0000\n" +"PO-Revision-Date: 2024-08-26 23:08\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -14,63 +14,63 @@ msgstr "" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: zh-TW\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" -"X-Crowdin-File-ID: 216\n" +"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 250\n" #: InvenTree/api.py:269 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:502 +#: InvenTree/api.py:499 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:160 +#: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" msgstr "" -#: InvenTree/conversion.py:177 +#: InvenTree/conversion.py:178 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:204 +#: InvenTree/conversion.py:205 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:206 +#: InvenTree/conversion.py:207 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:220 +#: InvenTree/conversion.py:221 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" -#: InvenTree/exceptions.py:108 +#: InvenTree/exceptions.py:104 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:136 +#: InvenTree/fields.py:135 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:929 build/serializers.py:468 -#: build/serializers.py:546 build/templates/build/sidebar.html:29 -#: company/models.py:836 +#: InvenTree/fields.py:204 InvenTree/models.py:926 build/serializers.py:512 +#: build/serializers.py:590 build/templates/build/sidebar.html:29 +#: company/models.py:833 #: company/templates/company/manufacturer_part_sidebar.html:11 #: company/templates/company/sidebar.html:37 -#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1380 +#: company/templates/company/supplier_part_sidebar.html:11 order/models.py:1373 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:59 -#: part/models.py:3297 part/templates/part/part_sidebar.html:65 +#: part/models.py:3309 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2375 stock/models.py:2563 -#: stock/serializers.py:698 stock/serializers.py:856 stock/serializers.py:982 -#: stock/serializers.py:1032 stock/serializers.py:1343 -#: stock/serializers.py:1432 stock/serializers.py:1597 +#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 +#: stock/serializers.py:1039 stock/serializers.py:1350 +#: stock/serializers.py:1439 stock/serializers.py:1604 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:372 @@ -79,16 +79,16 @@ msgstr "" #: templates/js/translated/return_order.js:774 #: templates/js/translated/sales_order.js:1103 #: templates/js/translated/sales_order.js:2018 -#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:1621 templates/js/translated/stock.js:2514 msgid "Notes" msgstr "" -#: InvenTree/format.py:164 +#: InvenTree/format.py:162 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:175 +#: InvenTree/format.py:173 msgid "Provided value does not match required pattern: " msgstr "" @@ -132,82 +132,82 @@ msgstr "" msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:274 +#: InvenTree/forms.py:273 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:403 +#: InvenTree/forms.py:402 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:491 order/models.py:567 order/models.py:810 +#: InvenTree/helpers.py:488 order/models.py:568 order/models.py:811 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:499 +#: InvenTree/helpers.py:493 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:528 +#: InvenTree/helpers.py:522 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:560 InvenTree/helpers.py:603 +#: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:591 +#: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:621 InvenTree/helpers.py:628 InvenTree/helpers.py:647 +#: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:657 +#: InvenTree/helpers.py:651 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:662 +#: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:133 +#: InvenTree/helpers_model.py:130 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:138 InvenTree/helpers_model.py:145 +#: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:141 +#: InvenTree/helpers_model.py:138 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:151 +#: InvenTree/helpers_model.py:148 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:151 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:166 +#: InvenTree/helpers_model.py:163 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:171 +#: InvenTree/helpers_model.py:168 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:179 +#: InvenTree/helpers_model.py:176 msgid "Supplied URL is not a valid image file" msgstr "" @@ -364,8 +364,8 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 -#: company/models.py:136 company/templates/company/company_base.html:138 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" @@ -387,42 +387,42 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:409 +#: InvenTree/models.py:406 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:416 +#: InvenTree/models.py:413 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:422 +#: InvenTree/models.py:419 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:433 +#: InvenTree/models.py:430 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:441 +#: InvenTree/models.py:438 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:472 +#: InvenTree/models.py:469 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:723 +#: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:740 +#: InvenTree/models.py:737 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:770 common/models.py:2702 common/models.py:3132 -#: common/serializers.py:412 company/models.py:593 machine/models.py:24 -#: part/models.py:983 part/models.py:3764 plugin/models.py:51 -#: report/models.py:149 stock/models.py:77 +#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 +#: common/models.py:3351 common/serializers.py:439 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -435,29 +435,29 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1193 #: templates/js/translated/part.js:1481 templates/js/translated/part.js:1617 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2801 +#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2802 msgid "Name" msgstr "" -#: InvenTree/models.py:776 build/models.py:250 -#: build/templates/build/detail.html:24 common/models.py:156 -#: company/models.py:521 company/models.py:827 +#: InvenTree/models.py:773 build/models.py:251 +#: build/templates/build/detail.html:24 common/models.py:158 +#: company/models.py:518 company/models.py:824 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 order/models.py:288 -#: order/models.py:1413 part/admin.py:305 part/admin.py:411 part/models.py:1006 -#: part/models.py:3779 part/templates/part/category.html:79 +#: company/templates/company/supplier_part.html:107 order/models.py:289 +#: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 +#: part/models.py:3791 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 #: report/models.py:509 report/models.py:535 #: report/templates/report/inventree_build_order_report.html:117 -#: stock/admin.py:54 stock/models.py:83 stock/templates/stock/location.html:122 +#: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:459 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2311 templates/js/translated/company.js:519 +#: templates/js/translated/build.js:2314 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:323 templates/js/translated/part.js:1245 @@ -471,58 +471,58 @@ msgstr "" #: templates/js/translated/return_order.js:313 #: templates/js/translated/sales_order.js:838 #: templates/js/translated/sales_order.js:1848 -#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2143 -#: templates/js/translated/stock.js:2832 templates/js/translated/stock.js:2915 +#: templates/js/translated/stock.js:1600 templates/js/translated/stock.js:2144 +#: templates/js/translated/stock.js:2833 templates/js/translated/stock.js:2916 msgid "Description" msgstr "" -#: InvenTree/models.py:777 stock/models.py:84 +#: InvenTree/models.py:774 stock/models.py:89 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:792 templates/js/translated/part.js:2812 -#: templates/js/translated/stock.js:2841 +#: InvenTree/models.py:789 templates/js/translated/part.js:2812 +#: templates/js/translated/stock.js:2842 msgid "Path" msgstr "" -#: InvenTree/models.py:929 +#: InvenTree/models.py:926 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:960 +#: InvenTree/models.py:957 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:961 +#: InvenTree/models.py:958 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:967 +#: InvenTree/models.py:964 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:968 +#: InvenTree/models.py:965 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1035 +#: InvenTree/models.py:1032 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1078 +#: InvenTree/models.py:1075 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1079 +#: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4387 +#: InvenTree/serializers.py:63 part/models.py:4400 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3115 +#: InvenTree/serializers.py:100 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:3127 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -532,49 +532,49 @@ msgstr "" msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 +#: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" msgstr "" -#: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:409 +#: InvenTree/serializers.py:407 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:412 +#: InvenTree/serializers.py:410 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:415 +#: InvenTree/serializers.py:413 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:439 +#: InvenTree/serializers.py:438 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:442 +#: InvenTree/serializers.py:441 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2707 company/models.py:163 -#: company/models.py:801 machine/models.py:39 part/admin.py:88 -#: part/models.py:1189 plugin/models.py:66 +#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: company/models.py:798 machine/models.py:39 part/admin.py:88 +#: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:134 #: templates/js/translated/table_filters.js:226 @@ -585,97 +585,97 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:445 +#: InvenTree/serializers.py:444 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:463 +#: InvenTree/serializers.py:462 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:474 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:494 +#: InvenTree/serializers.py:493 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:496 +#: InvenTree/serializers.py:495 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:502 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:561 +#: InvenTree/serializers.py:560 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 importer/models.py:63 +#: InvenTree/serializers.py:580 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:582 +#: InvenTree/serializers.py:581 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:599 +#: InvenTree/serializers.py:598 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:604 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:626 +#: InvenTree/serializers.py:625 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:628 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:742 +#: InvenTree/serializers.py:740 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:743 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:812 +#: InvenTree/serializers.py:809 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:818 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:861 +#: InvenTree/serializers.py:857 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:862 +#: InvenTree/serializers.py:858 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:876 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1246 +#: InvenTree/status.py:65 part/serializers.py:1267 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:70 +#: InvenTree/status.py:69 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:73 +#: InvenTree/status.py:72 msgid "InvenTree system health checks failed" msgstr "" @@ -691,122 +691,122 @@ msgstr "" msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:118 InvenTree/validators.py:134 +#: InvenTree/validators.py:117 InvenTree/validators.py:133 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:136 +#: InvenTree/validators.py:135 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:142 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:411 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:434 +#: InvenTree/views.py:433 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:442 +#: InvenTree/views.py:441 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:650 templates/navbar.html:160 +#: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" msgstr "" -#: InvenTree/views.py:657 templates/navbar.html:171 +#: InvenTree/views.py:652 templates/navbar.html:171 msgid "About InvenTree" msgstr "" -#: build/api.py:51 part/api.py:156 stock/api.py:343 -msgid "Cascade" -msgstr "" - -#: build/api.py:64 build/models.py:261 +#: build/api.py:53 build/models.py:262 #: build/templates/build/build_base.html:191 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/api.py:89 order/api.py:92 templates/js/translated/table_filters.js:101 +#: build/api.py:59 +msgid "Ancestor Build" +msgstr "" + +#: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" msgstr "" -#: build/api.py:106 build/templates/build/build_base.html:205 +#: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:552 msgid "Issued By" msgstr "" -#: build/api.py:125 +#: build/api.py:114 msgid "Assigned To" msgstr "" -#: build/api.py:301 +#: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:345 build/serializers.py:1288 part/models.py:4265 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 -#: templates/js/translated/build.js:2702 +#: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" msgstr "" -#: build/api.py:346 build/serializers.py:1289 part/models.py:4259 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 -#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2693 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" msgstr "" -#: build/api.py:347 common/models.py:1489 part/admin.py:91 part/admin.py:428 -#: part/models.py:1154 part/serializers.py:1575 +#: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 +#: part/models.py:1166 part/serializers.py:1596 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 msgid "Assembly" msgstr "" -#: build/api.py:348 templates/js/translated/table_filters.js:415 +#: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" msgstr "" -#: build/api.py:349 build/serializers.py:1290 part/models.py:1172 +#: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" msgstr "" -#: build/api.py:351 part/admin.py:144 templates/js/translated/build.js:1917 -#: templates/js/translated/build.js:2820 +#: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 +#: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" msgstr "" -#: build/api.py:359 company/models.py:891 company/serializers.py:395 +#: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2752 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2755 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:235 #: templates/js/translated/part.js:695 templates/js/translated/part.js:697 @@ -816,16 +816,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:86 build/templates/build/build_base.html:9 +#: build/models.py:87 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:84 templates/email/build_order_completed.html:16 +#: stock/serializers.py:85 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:1145 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:1148 templates/js/translated/stock.js:2977 msgid "Build Order" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:13 +#: build/models.py:88 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -836,43 +836,43 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:135 +#: build/models.py:136 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:142 +#: build/models.py:143 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:149 +#: build/models.py:150 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:163 +#: build/models.py:164 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:174 order/models.py:239 +#: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:180 +#: build/models.py:181 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:241 +#: build/models.py:242 msgid "Build Order Reference" msgstr "" -#: build/models.py:242 build/serializers.py:1287 order/models.py:467 -#: order/models.py:978 order/models.py:1373 order/models.py:2135 -#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 +#: build/models.py:243 build/serializers.py:1331 order/models.py:468 +#: order/models.py:979 order/models.py:1366 order/models.py:2128 +#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:1011 templates/js/translated/build.js:2685 +#: templates/js/translated/build.js:1014 templates/js/translated/build.js:2688 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2135 #: templates/js/translated/return_order.js:727 @@ -880,23 +880,23 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:253 +#: build/models.py:254 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:262 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:267 build/serializers.py:1278 +#: build/models.py:268 build/serializers.py:1322 #: build/templates/build/build_base.html:105 -#: build/templates/build/detail.html:29 company/models.py:1046 order/api.py:767 -#: order/models.py:1503 order/models.py:1658 order/models.py:1659 -#: part/api.py:1509 part/api.py:1813 part/models.py:424 part/models.py:3126 -#: part/models.py:3270 part/models.py:3418 part/models.py:3439 -#: part/models.py:3461 part/models.py:3597 part/models.py:3937 -#: part/models.py:4100 part/models.py:4231 part/models.py:4592 -#: part/serializers.py:1192 part/serializers.py:1836 +#: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 +#: order/models.py:1496 order/models.py:1651 order/models.py:1652 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 +#: part/models.py:3282 part/models.py:3430 part/models.py:3451 +#: part/models.py:3473 part/models.py:3609 part/models.py:3951 +#: part/models.py:4114 part/models.py:4244 part/models.py:4602 +#: part/serializers.py:1213 part/serializers.py:1857 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -907,17 +907,17 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:24 #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:446 -#: stock/serializers.py:916 templates/InvenTree/search.html:82 +#: stock/serializers.py:112 stock/serializers.py:160 stock/serializers.py:453 +#: stock/serializers.py:923 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:577 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1002 templates/js/translated/build.js:1485 -#: templates/js/translated/build.js:1916 templates/js/translated/build.js:2334 -#: templates/js/translated/build.js:2507 templates/js/translated/company.js:348 +#: templates/js/translated/build.js:1005 templates/js/translated/build.js:1488 +#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2337 +#: templates/js/translated/build.js:2510 templates/js/translated/company.js:348 #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 @@ -934,157 +934,157 @@ msgstr "" #: templates/js/translated/sales_order.js:1634 #: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:682 templates/js/translated/stock.js:848 -#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2082 -#: templates/js/translated/stock.js:2941 templates/js/translated/stock.js:3174 -#: templates/js/translated/stock.js:3319 +#: templates/js/translated/stock.js:1065 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2942 templates/js/translated/stock.js:3175 +#: templates/js/translated/stock.js:3320 msgid "Part" msgstr "" -#: build/models.py:275 +#: build/models.py:276 msgid "Select part to build" msgstr "" -#: build/models.py:280 +#: build/models.py:281 msgid "Sales Order Reference" msgstr "" -#: build/models.py:284 +#: build/models.py:285 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:289 build/serializers.py:1048 -#: templates/js/translated/build.js:1904 +#: build/models.py:290 build/serializers.py:1092 +#: templates/js/translated/build.js:1907 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:293 +#: build/models.py:294 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:298 +#: build/models.py:299 msgid "Destination Location" msgstr "" -#: build/models.py:302 +#: build/models.py:303 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:306 +#: build/models.py:307 msgid "Build Quantity" msgstr "" -#: build/models.py:309 +#: build/models.py:310 msgid "Number of stock items to build" msgstr "" -#: build/models.py:313 +#: build/models.py:314 msgid "Completed items" msgstr "" -#: build/models.py:315 +#: build/models.py:316 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:319 +#: build/models.py:320 msgid "Build Status" msgstr "" -#: build/models.py:323 +#: build/models.py:324 msgid "Build status code" msgstr "" -#: build/models.py:332 build/serializers.py:302 build/serializers.py:1198 -#: order/serializers.py:670 stock/models.py:859 stock/serializers.py:76 -#: stock/serializers.py:1562 templates/js/translated/purchase_order.js:1129 +#: build/models.py:333 build/serializers.py:346 build/serializers.py:1242 +#: order/serializers.py:671 stock/models.py:863 stock/serializers.py:77 +#: stock/serializers.py:1569 templates/js/translated/purchase_order.js:1129 #: templates/js/translated/stock.js:1199 msgid "Batch Code" msgstr "" -#: build/models.py:336 build/serializers.py:303 +#: build/models.py:337 build/serializers.py:347 msgid "Batch code for this build output" msgstr "" -#: build/models.py:339 order/models.py:315 order/serializers.py:126 -#: part/models.py:1229 part/templates/part/part_base.html:319 +#: build/models.py:340 order/models.py:316 order/serializers.py:127 +#: part/models.py:1241 part/templates/part/part_base.html:326 #: templates/js/translated/return_order.js:338 #: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:343 +#: build/models.py:344 msgid "Target completion date" msgstr "" -#: build/models.py:344 +#: build/models.py:345 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:347 order/models.py:526 order/models.py:2180 -#: templates/js/translated/build.js:2419 +#: build/models.py:348 order/models.py:527 order/models.py:2173 +#: templates/js/translated/build.js:2422 msgid "Completion Date" msgstr "" -#: build/models.py:353 +#: build/models.py:354 msgid "completed by" msgstr "" -#: build/models.py:361 templates/js/translated/build.js:2379 +#: build/models.py:362 templates/js/translated/build.js:2382 msgid "Issued by" msgstr "" -#: build/models.py:362 +#: build/models.py:363 msgid "User who issued this build order" msgstr "" -#: build/models.py:370 build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:122 common/models.py:165 order/api.py:142 -#: order/models.py:333 order/templates/order/order_base.html:222 +#: build/models.py:371 build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:122 common/models.py:167 order/api.py:142 +#: order/models.py:334 order/templates/order/order_base.html:222 #: order/templates/order/return_order_base.html:191 -#: order/templates/order/sales_order_base.html:235 part/models.py:1246 -#: part/templates/part/part_base.html:399 +#: order/templates/order/sales_order_base.html:235 part/models.py:1258 +#: part/templates/part/part_base.html:406 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2391 +#: templates/js/translated/build.js:2394 #: templates/js/translated/purchase_order.js:1833 #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:551 msgid "Responsible" msgstr "" -#: build/models.py:371 +#: build/models.py:372 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:376 build/templates/build/detail.html:108 +#: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:172 #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 -#: part/templates/part/part_base.html:392 stock/models.py:855 +#: part/templates/part/part_base.html:399 stock/models.py:859 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:377 common/models.py:3273 part/models.py:1058 -#: stock/models.py:855 +#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: stock/models.py:859 msgid "Link to external URL" msgstr "" -#: build/models.py:381 +#: build/models.py:382 msgid "Build Priority" msgstr "" -#: build/models.py:384 +#: build/models.py:385 msgid "Priority of this build order" msgstr "" -#: build/models.py:391 common/models.py:135 common/models.py:149 -#: order/admin.py:18 order/api.py:128 order/models.py:297 +#: build/models.py:392 common/models.py:137 common/models.py:151 +#: order/admin.py:18 order/api.py:128 order/models.py:298 #: templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2319 #: templates/js/translated/purchase_order.js:1780 #: templates/js/translated/return_order.js:317 #: templates/js/translated/sales_order.js:842 @@ -1093,66 +1093,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:392 +#: build/models.py:393 msgid "Project code for this build order" msgstr "" -#: build/models.py:651 build/models.py:778 +#: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:673 +#: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:679 +#: build/models.py:680 msgid "A build order has been completed" msgstr "" -#: build/models.py:967 build/models.py:1055 +#: build/models.py:968 build/models.py:1056 msgid "No build output specified" msgstr "" -#: build/models.py:970 +#: build/models.py:971 msgid "Build output is already completed" msgstr "" -#: build/models.py:973 +#: build/models.py:974 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1059 build/serializers.py:235 build/serializers.py:284 -#: build/serializers.py:915 order/models.py:564 order/serializers.py:499 -#: order/serializers.py:665 part/serializers.py:1569 part/serializers.py:1999 -#: stock/models.py:700 stock/models.py:1520 stock/serializers.py:669 +#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/serializers.py:959 order/models.py:565 order/serializers.py:500 +#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1064 build/serializers.py:240 +#: build/models.py:1065 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1124 build/serializers.py:563 +#: build/models.py:1125 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1465 +#: build/models.py:1466 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1490 +#: build/models.py:1491 msgid "Build object" msgstr "" -#: build/models.py:1504 build/models.py:1760 build/serializers.py:222 -#: build/serializers.py:269 build/serializers.py:1295 +#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2579 -#: order/models.py:1356 order/models.py:2041 order/serializers.py:1460 +#: build/templates/build/detail.html:34 common/models.py:2581 +#: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3284 part/models.py:4253 +#: part/forms.py:48 part/models.py:3296 part/models.py:4266 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1161,16 +1161,16 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:29 #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 -#: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:660 +#: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 +#: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 -#: templates/js/translated/bom.js:981 templates/js/translated/build.js:522 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1542 -#: templates/js/translated/build.js:1919 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 +#: templates/js/translated/build.js:740 templates/js/translated/build.js:1545 +#: templates/js/translated/build.js:1922 templates/js/translated/build.js:2532 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:237 #: templates/js/translated/order.js:329 templates/js/translated/part.js:968 @@ -1189,47 +1189,47 @@ msgstr "" #: templates/js/translated/sales_order.js:1734 #: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:570 templates/js/translated/stock.js:708 -#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3105 -#: templates/js/translated/stock.js:3188 +#: templates/js/translated/stock.js:879 templates/js/translated/stock.js:3106 +#: templates/js/translated/stock.js:3189 msgid "Quantity" msgstr "" -#: build/models.py:1505 +#: build/models.py:1506 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1585 +#: build/models.py:1586 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1594 +#: build/models.py:1595 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1604 order/models.py:1992 +#: build/models.py:1605 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1610 order/models.py:1995 +#: build/models.py:1611 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1616 +#: build/models.py:1617 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1675 +#: build/models.py:1676 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1747 build/serializers.py:895 order/serializers.py:1297 -#: order/serializers.py:1318 stock/models.py:376 stock/serializers.py:93 -#: stock/serializers.py:763 stock/serializers.py:1281 stock/serializers.py:1393 +#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 +#: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 #: templates/js/translated/sales_order.js:1535 @@ -1237,91 +1237,99 @@ msgstr "" #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:683 templates/js/translated/stock.js:849 -#: templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3062 msgid "Stock Item" msgstr "" -#: build/models.py:1748 +#: build/models.py:1749 msgid "Source stock item" msgstr "" -#: build/models.py:1761 +#: build/models.py:1762 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1769 +#: build/models.py:1770 msgid "Install into" msgstr "" -#: build/models.py:1770 +#: build/models.py:1771 msgid "Destination stock item" msgstr "" -#: build/serializers.py:91 +#: build/serializers.py:107 msgid "Build Level" msgstr "" -#: build/serializers.py:99 build/serializers.py:1190 build/serializers.py:1279 -#: part/admin.py:41 part/admin.py:408 part/models.py:4102 part/stocktake.py:219 -#: stock/admin.py:156 +#: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 +#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: stock/admin.py:157 msgid "Part Name" msgstr "" -#: build/serializers.py:111 +#: build/serializers.py:127 msgid "Project Code Label" msgstr "" -#: build/serializers.py:172 build/serializers.py:924 -#: templates/js/translated/build.js:1042 templates/js/translated/build.js:1495 +#: build/serializers.py:133 +msgid "Create Child Builds" +msgstr "" + +#: build/serializers.py:134 +msgid "Automatically generate child build orders" +msgstr "" + +#: build/serializers.py:216 build/serializers.py:968 +#: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" msgstr "" -#: build/serializers.py:184 +#: build/serializers.py:228 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:188 +#: build/serializers.py:232 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:192 +#: build/serializers.py:236 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:203 +#: build/serializers.py:247 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:223 build/serializers.py:270 +#: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:335 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:294 +#: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:309 order/serializers.py:678 order/serializers.py:1464 -#: stock/serializers.py:680 templates/js/translated/purchase_order.js:1154 +#: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 +#: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 #: templates/js/translated/stock.js:373 templates/js/translated/stock.js:571 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:310 +#: build/serializers.py:354 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:315 build/serializers.py:456 build/serializers.py:528 -#: order/serializers.py:654 order/serializers.py:778 order/serializers.py:1781 -#: part/serializers.py:1212 stock/serializers.py:102 stock/serializers.py:691 -#: stock/serializers.py:851 stock/serializers.py:977 stock/serializers.py:1425 -#: stock/serializers.py:1681 stock/templates/stock/item_base.html:394 +#: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 +#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:578 -#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1032 -#: templates/js/translated/build.js:1174 templates/js/translated/build.js:2544 +#: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 +#: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 #: templates/js/translated/purchase_order.js:1210 #: templates/js/translated/purchase_order.js:1320 #: templates/js/translated/sales_order.js:1547 @@ -1329,297 +1337,297 @@ msgstr "" #: templates/js/translated/sales_order.js:1663 #: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:684 templates/js/translated/stock.js:850 -#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2286 -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:2287 +#: templates/js/translated/stock.js:2956 msgid "Location" msgstr "" -#: build/serializers.py:316 +#: build/serializers.py:360 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:346 +#: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:371 stock/api.py:1031 +#: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:418 build/serializers.py:480 build/serializers.py:569 +#: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:501 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:507 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:469 +#: build/serializers.py:513 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:529 +#: build/serializers.py:573 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:535 build/templates/build/build_base.html:159 -#: build/templates/build/detail.html:62 order/models.py:476 -#: order/models.py:1002 order/models.py:2159 order/serializers.py:686 -#: stock/admin.py:164 stock/serializers.py:1028 stock/serializers.py:1569 +#: build/serializers.py:579 build/templates/build/build_base.html:159 +#: build/templates/build/detail.html:62 order/models.py:477 +#: order/models.py:1003 order/models.py:2152 order/serializers.py:687 +#: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2363 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 #: templates/js/translated/return_order.js:330 #: templates/js/translated/sales_order.js:855 -#: templates/js/translated/stock.js:2261 templates/js/translated/stock.js:3079 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3205 msgid "Status" msgstr "" -#: build/serializers.py:541 +#: build/serializers.py:585 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:542 +#: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:654 +#: build/serializers.py:698 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:655 +#: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:661 +#: build/serializers.py:705 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:662 +#: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:689 +#: build/serializers.py:733 msgid "Not permitted" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:734 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:735 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:721 +#: build/serializers.py:765 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:723 +#: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:733 +#: build/serializers.py:777 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:738 +#: build/serializers.py:782 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:739 +#: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:749 templates/js/translated/build.js:316 +#: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:754 order/serializers.py:345 order/serializers.py:1365 +#: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:755 +#: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:765 templates/js/translated/build.js:320 +#: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:774 +#: build/serializers.py:818 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:777 +#: build/serializers.py:821 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:780 templates/js/translated/build.js:304 +#: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:818 +#: build/serializers.py:862 msgid "Build Line" msgstr "" -#: build/serializers.py:828 +#: build/serializers.py:872 msgid "Build output" msgstr "" -#: build/serializers.py:836 +#: build/serializers.py:880 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:872 +#: build/serializers.py:916 msgid "Build Line Item" msgstr "" -#: build/serializers.py:886 +#: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:901 stock/serializers.py:1294 +#: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:949 order/serializers.py:1351 +#: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:986 order/serializers.py:1610 +#: build/serializers.py:1030 order/serializers.py:1614 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1057 +#: build/serializers.py:1101 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1058 +#: build/serializers.py:1102 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1063 +#: build/serializers.py:1107 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1069 +#: build/serializers.py:1113 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1114 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1119 msgid "Optional Items" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1098 +#: build/serializers.py:1142 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1181 +#: build/serializers.py:1225 msgid "Supplier Part Number" msgstr "" -#: build/serializers.py:1182 company/models.py:506 +#: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: build/serializers.py:1183 stock/admin.py:53 stock/admin.py:175 -#: stock/serializers.py:457 +#: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 +#: stock/serializers.py:464 msgid "Location Name" msgstr "" -#: build/serializers.py:1184 +#: build/serializers.py:1228 msgid "Build Reference" msgstr "" -#: build/serializers.py:1185 +#: build/serializers.py:1229 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 company/models.py:852 -#: company/templates/company/supplier_part.html:160 order/serializers.py:690 -#: stock/admin.py:228 stock/models.py:818 stock/serializers.py:1579 +#: build/serializers.py:1230 company/models.py:849 +#: company/templates/company/supplier_part.html:160 order/serializers.py:691 +#: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 -#: templates/js/translated/stock.js:2509 +#: templates/js/translated/stock.js:2510 msgid "Packaging" msgstr "" -#: build/serializers.py:1189 part/admin.py:39 part/admin.py:398 -#: part/models.py:4101 part/stocktake.py:218 stock/admin.py:152 +#: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 +#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" -#: build/serializers.py:1191 build/serializers.py:1280 part/admin.py:402 -#: part/models.py:4103 +#: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 +#: part/models.py:4117 msgid "Part IPN" msgstr "" -#: build/serializers.py:1192 build/serializers.py:1282 part/admin.py:45 +#: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" msgstr "" -#: build/serializers.py:1195 +#: build/serializers.py:1239 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1196 +#: build/serializers.py:1240 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1199 +#: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 -#: report/templates/report/inventree_test_report.html:88 stock/models.py:845 -#: stock/serializers.py:151 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:520 templates/js/translated/build.js:1540 -#: templates/js/translated/build.js:2527 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:849 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 +#: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:722 @@ -1630,89 +1638,90 @@ msgstr "" msgid "Serial Number" msgstr "" -#: build/serializers.py:1212 stock/serializers.py:593 -#: templates/js/translated/build.js:1017 templates/js/translated/build.js:1164 -#: templates/js/translated/build.js:2516 +#: build/serializers.py:1256 stock/serializers.py:600 +#: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 +#: templates/js/translated/build.js:2519 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1213 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 msgid "Available Quantity" msgstr "" -#: build/serializers.py:1283 +#: build/serializers.py:1327 msgid "Part Category ID" msgstr "" -#: build/serializers.py:1284 +#: build/serializers.py:1328 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1291 common/models.py:1513 part/admin.py:113 -#: part/models.py:1166 templates/js/translated/table_filters.js:150 +#: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 +#: part/models.py:1178 templates/js/translated/table_filters.js:150 #: templates/js/translated/table_filters.js:230 #: templates/js/translated/table_filters.js:783 msgid "Trackable" msgstr "" -#: build/serializers.py:1292 +#: build/serializers.py:1336 msgid "Inherited" msgstr "" -#: build/serializers.py:1293 part/models.py:4313 +#: build/serializers.py:1337 part/models.py:4326 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 -#: templates/js/translated/build.js:2711 +#: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1297 part/models.py:4110 part/models.py:4584 -#: stock/api.py:794 +#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: stock/api.py:793 msgid "BOM Item" msgstr "" -#: build/serializers.py:1306 build/templates/build/detail.html:236 +#: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1311 order/serializers.py:1175 part/admin.py:132 -#: part/bom.py:181 part/serializers.py:899 part/serializers.py:1602 +#: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 +#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2804 templates/js/translated/part.js:712 +#: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" msgstr "" -#: build/serializers.py:1316 order/serializers.py:1176 part/serializers.py:1604 -#: templates/js/translated/build.js:2808 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1321 part/bom.py:180 part/serializers.py:1629 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" -#: build/serializers.py:1325 +#: build/serializers.py:1369 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1326 +#: build/serializers.py:1370 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1327 +#: build/serializers.py:1371 msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1328 part/serializers.py:906 +#: build/serializers.py:1372 part/serializers.py:927 msgid "External Stock" msgstr "" -#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 +#: build/status_codes.py:11 generic/states/tests.py:21 +#: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" @@ -1732,23 +1741,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:19 importer/models.py:509 -#: importer/status_codes.py:19 order/status_codes.py:15 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 +#: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 #: order/templates/order/sales_order_base.html:168 report/models.py:443 msgid "Complete" msgstr "" -#: build/tasks.py:184 +#: build/tasks.py:180 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:201 +#: build/tasks.py:233 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:206 +#: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1877,13 +1886,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:168 -#: build/templates/build/detail.html:138 order/models.py:308 -#: order/models.py:1391 order/serializers.py:174 +#: build/templates/build/detail.html:138 order/models.py:309 +#: order/models.py:1384 order/serializers.py:177 #: order/templates/order/order_base.html:191 #: order/templates/order/return_order_base.html:167 #: order/templates/order/sales_order_base.html:199 #: report/templates/report/inventree_build_order_report.html:125 -#: templates/js/translated/build.js:2411 templates/js/translated/part.js:1837 +#: templates/js/translated/build.js:2414 templates/js/translated/part.js:1837 #: templates/js/translated/purchase_order.js:1809 #: templates/js/translated/purchase_order.js:2217 #: templates/js/translated/return_order.js:346 @@ -1916,8 +1925,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:198 -#: build/templates/build/detail.html:101 order/api.py:1406 order/models.py:892 -#: order/models.py:1650 order/models.py:1765 order/models.py:1924 +#: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 +#: order/models.py:1643 order/models.py:1758 order/models.py:1917 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1927,12 +1936,12 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 #: templates/js/translated/sales_order.js:1028 -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3009 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:219 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2328 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" msgstr "" @@ -1968,7 +1977,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1532 +#: build/templates/build/detail.html:49 order/models.py:1525 #: templates/js/translated/purchase_order.js:2259 msgid "Destination" msgstr "" @@ -1981,13 +1990,13 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:162 +#: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1553 +#: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 #: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:1240 -#: templates/js/translated/stock.js:2275 templates/js/translated/stock.js:3211 +#: templates/js/translated/stock.js:2276 templates/js/translated/stock.js:3212 #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" @@ -1997,7 +2006,7 @@ msgstr "" #: order/templates/order/order_base.html:178 #: order/templates/order/return_order_base.html:154 #: order/templates/order/sales_order_base.html:193 -#: templates/js/translated/build.js:2371 +#: templates/js/translated/build.js:2374 msgid "Created" msgstr "" @@ -2120,7 +2129,7 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:8 order/serializers.py:82 +#: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 @@ -2139,19 +2148,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:693 +#: common/api.py:692 msgid "Is Link" msgstr "" -#: common/api.py:701 +#: common/api.py:700 msgid "Is File" msgstr "" -#: common/api.py:744 +#: common/api.py:743 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:761 +#: common/api.py:760 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2209,1631 +2218,1631 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:86 +#: common/models.py:88 msgid "Updated" msgstr "" -#: common/models.py:87 +#: common/models.py:89 msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:122 msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:150 +#: common/models.py:152 msgid "Unique project code" msgstr "" -#: common/models.py:157 +#: common/models.py:159 msgid "Project description" msgstr "" -#: common/models.py:166 +#: common/models.py:168 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:783 +#: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:787 +#: common/models.py:789 msgid "Settings value" msgstr "" -#: common/models.py:839 +#: common/models.py:841 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:855 +#: common/models.py:857 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:863 +#: common/models.py:865 msgid "Value must be an integer value" msgstr "" -#: common/models.py:900 +#: common/models.py:902 msgid "Key string must be unique" msgstr "" -#: common/models.py:1132 +#: common/models.py:1134 msgid "No group" msgstr "" -#: common/models.py:1231 +#: common/models.py:1233 msgid "Restart required" msgstr "" -#: common/models.py:1233 +#: common/models.py:1235 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1240 +#: common/models.py:1242 msgid "Pending migrations" msgstr "" -#: common/models.py:1241 +#: common/models.py:1243 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1246 +#: common/models.py:1248 msgid "Server Instance Name" msgstr "" -#: common/models.py:1248 +#: common/models.py:1250 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1252 +#: common/models.py:1254 msgid "Use instance name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1255 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1258 +#: common/models.py:1260 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1259 +#: common/models.py:1261 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1264 company/models.py:111 company/models.py:112 +#: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" msgstr "" -#: common/models.py:1265 +#: common/models.py:1267 msgid "Internal company name" msgstr "" -#: common/models.py:1269 +#: common/models.py:1271 msgid "Base URL" msgstr "" -#: common/models.py:1270 +#: common/models.py:1272 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1276 +#: common/models.py:1278 msgid "Default Currency" msgstr "" -#: common/models.py:1277 +#: common/models.py:1279 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1283 +#: common/models.py:1285 msgid "Supported Currencies" msgstr "" -#: common/models.py:1284 +#: common/models.py:1286 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1290 +#: common/models.py:1292 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1292 +#: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1295 common/models.py:1351 common/models.py:1364 -#: common/models.py:1372 common/models.py:1381 common/models.py:1390 -#: common/models.py:1627 common/models.py:1649 common/models.py:1764 -#: common/models.py:2146 +#: common/models.py:1297 common/models.py:1353 common/models.py:1366 +#: common/models.py:1374 common/models.py:1383 common/models.py:1392 +#: common/models.py:1629 common/models.py:1651 common/models.py:1766 +#: common/models.py:2148 msgid "days" msgstr "" -#: common/models.py:1299 +#: common/models.py:1301 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1300 +#: common/models.py:1302 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1305 +#: common/models.py:1307 msgid "Download from URL" msgstr "" -#: common/models.py:1307 +#: common/models.py:1309 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1313 +#: common/models.py:1315 msgid "Download Size Limit" msgstr "" -#: common/models.py:1314 +#: common/models.py:1316 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1320 +#: common/models.py:1322 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1322 +#: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1327 +#: common/models.py:1329 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1328 +#: common/models.py:1330 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1333 +#: common/models.py:1335 msgid "Require confirm" msgstr "" -#: common/models.py:1334 +#: common/models.py:1336 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1339 +#: common/models.py:1341 msgid "Tree Depth" msgstr "" -#: common/models.py:1341 +#: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1347 +#: common/models.py:1349 msgid "Update Check Interval" msgstr "" -#: common/models.py:1348 +#: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1354 +#: common/models.py:1356 msgid "Automatic Backup" msgstr "" -#: common/models.py:1355 +#: common/models.py:1357 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1360 +#: common/models.py:1362 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1361 +#: common/models.py:1363 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1367 +#: common/models.py:1369 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 +#: common/models.py:1378 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1378 +#: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1385 +#: common/models.py:1387 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1387 +#: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1394 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1395 +#: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1400 +#: common/models.py:1402 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1401 +#: common/models.py:1403 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1407 +#: common/models.py:1409 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1408 +#: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1413 +#: common/models.py:1415 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1414 +#: common/models.py:1416 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1419 +#: common/models.py:1421 msgid "Barcode Generation Plugin" msgstr "" -#: common/models.py:1420 +#: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/models.py:1425 +#: common/models.py:1427 msgid "Part Revisions" msgstr "" -#: common/models.py:1426 +#: common/models.py:1428 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1431 +#: common/models.py:1433 msgid "Assembly Revision Only" msgstr "" -#: common/models.py:1432 +#: common/models.py:1434 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/models.py:1437 +#: common/models.py:1439 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1438 +#: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1445 msgid "IPN Regex" msgstr "" -#: common/models.py:1444 +#: common/models.py:1446 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1447 +#: common/models.py:1449 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1448 +#: common/models.py:1450 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1453 +#: common/models.py:1455 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1454 +#: common/models.py:1456 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1459 +#: common/models.py:1461 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1460 +#: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1465 +#: common/models.py:1467 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1466 +#: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1471 +#: common/models.py:1473 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1472 +#: common/models.py:1474 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1477 +#: common/models.py:1479 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1478 +#: common/models.py:1480 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1483 part/admin.py:108 part/models.py:3945 +#: common/models.py:1485 part/admin.py:108 part/models.py:3959 #: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:232 +#: report/serializers.py:131 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" msgstr "" -#: common/models.py:1484 +#: common/models.py:1486 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1490 +#: common/models.py:1492 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1495 part/admin.py:95 part/models.py:1160 -#: part/serializers.py:1596 templates/js/translated/table_filters.js:737 +#: common/models.py:1497 part/admin.py:95 part/models.py:1172 +#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" -#: common/models.py:1496 +#: common/models.py:1498 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1501 part/admin.py:100 part/models.py:1178 +#: common/models.py:1503 part/admin.py:100 part/models.py:1190 msgid "Purchaseable" msgstr "" -#: common/models.py:1502 +#: common/models.py:1504 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1507 part/admin.py:104 part/models.py:1184 +#: common/models.py:1509 part/admin.py:104 part/models.py:1196 #: templates/js/translated/table_filters.js:763 msgid "Salable" msgstr "" -#: common/models.py:1508 +#: common/models.py:1510 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1514 +#: common/models.py:1516 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1519 part/admin.py:117 part/models.py:1200 +#: common/models.py:1521 part/admin.py:117 part/models.py:1212 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:142 #: templates/js/translated/table_filters.js:787 msgid "Virtual" msgstr "" -#: common/models.py:1520 +#: common/models.py:1522 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1525 +#: common/models.py:1527 msgid "Show Import in Views" msgstr "" -#: common/models.py:1526 +#: common/models.py:1528 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1531 +#: common/models.py:1533 msgid "Show related parts" msgstr "" -#: common/models.py:1532 +#: common/models.py:1534 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1537 +#: common/models.py:1539 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1538 +#: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1543 templates/js/translated/part.js:108 +#: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1545 +#: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1551 +#: common/models.py:1553 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1552 +#: common/models.py:1554 msgid "Format to display the part name" msgstr "" -#: common/models.py:1558 +#: common/models.py:1560 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1559 +#: common/models.py:1561 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1564 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1566 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1572 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1574 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1585 +#: common/models.py:1587 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1587 +#: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1598 +#: common/models.py:1600 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1600 +#: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1608 msgid "Purchase History Override" msgstr "" -#: common/models.py:1608 +#: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1614 +#: common/models.py:1616 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1616 +#: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1622 +#: common/models.py:1624 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1624 +#: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1631 +#: common/models.py:1633 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1632 +#: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1639 msgid "Active Variants Only" msgstr "" -#: common/models.py:1639 +#: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1645 +#: common/models.py:1647 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1647 +#: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1654 +#: common/models.py:1656 msgid "Internal Prices" msgstr "" -#: common/models.py:1655 +#: common/models.py:1657 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1660 +#: common/models.py:1662 msgid "Internal Price Override" msgstr "" -#: common/models.py:1662 +#: common/models.py:1664 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1668 +#: common/models.py:1670 msgid "Enable label printing" msgstr "" -#: common/models.py:1669 +#: common/models.py:1671 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1674 +#: common/models.py:1676 msgid "Label Image DPI" msgstr "" -#: common/models.py:1676 +#: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1682 +#: common/models.py:1684 msgid "Enable Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1685 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1688 templates/stats.html:25 +#: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1689 +#: common/models.py:1691 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1694 +#: common/models.py:1696 msgid "Log Report Errors" msgstr "" -#: common/models.py:1695 +#: common/models.py:1697 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1700 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:301 msgid "Page Size" msgstr "" -#: common/models.py:1701 +#: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1706 +#: common/models.py:1708 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1707 +#: common/models.py:1709 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1712 +#: common/models.py:1714 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1714 +#: common/models.py:1716 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1720 +#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1721 +#: common/models.py:1723 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1726 +#: common/models.py:1728 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1727 +#: common/models.py:1729 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1732 +#: common/models.py:1734 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1734 +#: common/models.py:1736 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1740 +#: common/models.py:1742 msgid "Batch Code Template" msgstr "" -#: common/models.py:1742 +#: common/models.py:1744 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1747 +#: common/models.py:1749 msgid "Stock Expiry" msgstr "" -#: common/models.py:1748 +#: common/models.py:1750 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1753 +#: common/models.py:1755 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1754 +#: common/models.py:1756 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1759 +#: common/models.py:1761 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1761 +#: common/models.py:1763 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1768 +#: common/models.py:1770 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1769 +#: common/models.py:1771 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1774 +#: common/models.py:1776 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1775 +#: common/models.py:1777 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1780 +#: common/models.py:1782 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1781 +#: common/models.py:1783 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1786 +#: common/models.py:1788 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1787 +#: common/models.py:1789 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1792 +#: common/models.py:1794 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1794 +#: common/models.py:1796 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1800 +#: common/models.py:1802 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1802 +#: common/models.py:1804 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1808 +#: common/models.py:1810 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1810 +#: common/models.py:1812 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1816 common/models.py:1872 common/models.py:1894 -#: common/models.py:1930 +#: common/models.py:1818 common/models.py:1874 common/models.py:1896 +#: common/models.py:1932 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1817 common/models.py:1873 common/models.py:1895 -#: common/models.py:1931 +#: common/models.py:1819 common/models.py:1875 common/models.py:1897 +#: common/models.py:1933 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1822 +#: common/models.py:1824 msgid "Require Active Part" msgstr "" -#: common/models.py:1823 +#: common/models.py:1825 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1828 +#: common/models.py:1830 msgid "Require Locked Part" msgstr "" -#: common/models.py:1829 +#: common/models.py:1831 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1836 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1836 +#: common/models.py:1838 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1842 +#: common/models.py:1844 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1844 +#: common/models.py:1846 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1850 +#: common/models.py:1852 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1852 +#: common/models.py:1854 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1858 +#: common/models.py:1860 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1859 +#: common/models.py:1861 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1864 +#: common/models.py:1866 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1866 +#: common/models.py:1868 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1878 +#: common/models.py:1880 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1880 +#: common/models.py:1882 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1886 +#: common/models.py:1888 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1888 +#: common/models.py:1890 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1900 +#: common/models.py:1902 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1901 +#: common/models.py:1903 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1906 +#: common/models.py:1908 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1910 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1914 +#: common/models.py:1916 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1916 +#: common/models.py:1918 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1922 +#: common/models.py:1924 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1924 +#: common/models.py:1926 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1936 +#: common/models.py:1938 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1938 +#: common/models.py:1940 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1944 +#: common/models.py:1946 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1946 +#: common/models.py:1948 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1953 +#: common/models.py:1955 msgid "Enable password forgot" msgstr "" -#: common/models.py:1954 +#: common/models.py:1956 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1959 +#: common/models.py:1961 msgid "Enable registration" msgstr "" -#: common/models.py:1960 +#: common/models.py:1962 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1965 +#: common/models.py:1967 msgid "Enable SSO" msgstr "" -#: common/models.py:1966 +#: common/models.py:1968 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1971 +#: common/models.py:1973 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1973 +#: common/models.py:1975 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1979 +#: common/models.py:1981 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1981 +#: common/models.py:1983 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1987 +#: common/models.py:1989 msgid "SSO group key" msgstr "" -#: common/models.py:1989 +#: common/models.py:1991 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1995 +#: common/models.py:1997 msgid "SSO group map" msgstr "" -#: common/models.py:1997 +#: common/models.py:1999 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2003 +#: common/models.py:2005 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2005 +#: common/models.py:2007 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2011 +#: common/models.py:2013 msgid "Email required" msgstr "" -#: common/models.py:2012 +#: common/models.py:2014 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2017 +#: common/models.py:2019 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2019 +#: common/models.py:2021 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2025 +#: common/models.py:2027 msgid "Mail twice" msgstr "" -#: common/models.py:2026 +#: common/models.py:2028 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2031 +#: common/models.py:2033 msgid "Password twice" msgstr "" -#: common/models.py:2032 +#: common/models.py:2034 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2037 +#: common/models.py:2039 msgid "Allowed domains" msgstr "" -#: common/models.py:2039 +#: common/models.py:2041 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2045 +#: common/models.py:2047 msgid "Group on signup" msgstr "" -#: common/models.py:2047 +#: common/models.py:2049 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2053 +#: common/models.py:2055 msgid "Enforce MFA" msgstr "" -#: common/models.py:2054 +#: common/models.py:2056 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2059 +#: common/models.py:2061 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2061 +#: common/models.py:2063 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2069 +#: common/models.py:2071 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2070 +#: common/models.py:2072 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2076 +#: common/models.py:2078 msgid "Enable URL integration" msgstr "" -#: common/models.py:2077 +#: common/models.py:2079 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2083 +#: common/models.py:2085 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2084 +#: common/models.py:2086 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2090 +#: common/models.py:2092 msgid "Enable app integration" msgstr "" -#: common/models.py:2091 +#: common/models.py:2093 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2097 +#: common/models.py:2099 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2098 +#: common/models.py:2100 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2104 +#: common/models.py:2106 msgid "Enable event integration" msgstr "" -#: common/models.py:2105 +#: common/models.py:2107 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2111 +#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2112 +#: common/models.py:2114 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2117 +#: common/models.py:2119 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2119 +#: common/models.py:2121 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2125 +#: common/models.py:2127 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2127 +#: common/models.py:2129 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2135 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2135 +#: common/models.py:2137 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2141 +#: common/models.py:2143 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2143 +#: common/models.py:2145 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2150 +#: common/models.py:2152 msgid "Display Users full names" msgstr "" -#: common/models.py:2151 +#: common/models.py:2153 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2156 +#: common/models.py:2158 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2157 +#: common/models.py:2159 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2169 common/models.py:2549 +#: common/models.py:2171 common/models.py:2551 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2212 +#: common/models.py:2214 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2214 +#: common/models.py:2216 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2220 +#: common/models.py:2222 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2221 +#: common/models.py:2223 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2226 +#: common/models.py:2228 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2227 +#: common/models.py:2229 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2232 +#: common/models.py:2234 msgid "Show latest parts" msgstr "" -#: common/models.py:2233 +#: common/models.py:2235 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2238 +#: common/models.py:2240 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2239 +#: common/models.py:2241 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2244 +#: common/models.py:2246 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2245 +#: common/models.py:2247 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2250 +#: common/models.py:2252 msgid "Show low stock" msgstr "" -#: common/models.py:2251 +#: common/models.py:2253 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2256 +#: common/models.py:2258 msgid "Show depleted stock" msgstr "" -#: common/models.py:2257 +#: common/models.py:2259 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2262 +#: common/models.py:2264 msgid "Show needed stock" msgstr "" -#: common/models.py:2263 +#: common/models.py:2265 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2268 +#: common/models.py:2270 msgid "Show expired stock" msgstr "" -#: common/models.py:2269 +#: common/models.py:2271 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2274 +#: common/models.py:2276 msgid "Show stale stock" msgstr "" -#: common/models.py:2275 +#: common/models.py:2277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2280 +#: common/models.py:2282 msgid "Show pending builds" msgstr "" -#: common/models.py:2281 +#: common/models.py:2283 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2286 +#: common/models.py:2288 msgid "Show overdue builds" msgstr "" -#: common/models.py:2287 +#: common/models.py:2289 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2292 +#: common/models.py:2294 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2293 +#: common/models.py:2295 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2298 +#: common/models.py:2300 msgid "Show overdue POs" msgstr "" -#: common/models.py:2299 +#: common/models.py:2301 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2304 +#: common/models.py:2306 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2305 +#: common/models.py:2307 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2310 +#: common/models.py:2312 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2311 +#: common/models.py:2313 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2316 +#: common/models.py:2318 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2317 +#: common/models.py:2319 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2322 +#: common/models.py:2324 msgid "Show News" msgstr "" -#: common/models.py:2323 +#: common/models.py:2325 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2328 +#: common/models.py:2330 msgid "Inline label display" msgstr "" -#: common/models.py:2330 +#: common/models.py:2332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2336 +#: common/models.py:2338 msgid "Default label printer" msgstr "" -#: common/models.py:2338 +#: common/models.py:2340 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2344 +#: common/models.py:2346 msgid "Inline report display" msgstr "" -#: common/models.py:2346 +#: common/models.py:2348 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2352 +#: common/models.py:2354 msgid "Search Parts" msgstr "" -#: common/models.py:2353 +#: common/models.py:2355 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2358 +#: common/models.py:2360 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2359 +#: common/models.py:2361 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2364 +#: common/models.py:2366 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2365 +#: common/models.py:2367 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2370 +#: common/models.py:2372 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2371 +#: common/models.py:2373 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2376 +#: common/models.py:2378 msgid "Search Categories" msgstr "" -#: common/models.py:2377 +#: common/models.py:2379 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2384 msgid "Search Stock" msgstr "" -#: common/models.py:2383 +#: common/models.py:2385 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2390 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2390 +#: common/models.py:2392 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2398 msgid "Search Locations" msgstr "" -#: common/models.py:2397 +#: common/models.py:2399 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2404 msgid "Search Companies" msgstr "" -#: common/models.py:2403 +#: common/models.py:2405 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2408 +#: common/models.py:2410 msgid "Search Build Orders" msgstr "" -#: common/models.py:2409 +#: common/models.py:2411 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2414 +#: common/models.py:2416 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2415 +#: common/models.py:2417 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2420 +#: common/models.py:2422 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2422 +#: common/models.py:2424 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2428 +#: common/models.py:2430 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2429 +#: common/models.py:2431 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2434 +#: common/models.py:2436 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2436 +#: common/models.py:2438 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2442 +#: common/models.py:2444 msgid "Search Return Orders" msgstr "" -#: common/models.py:2443 +#: common/models.py:2445 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2448 +#: common/models.py:2450 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2450 +#: common/models.py:2452 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2456 +#: common/models.py:2458 msgid "Search Preview Results" msgstr "" -#: common/models.py:2458 +#: common/models.py:2460 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2464 +#: common/models.py:2466 msgid "Regex Search" msgstr "" -#: common/models.py:2465 +#: common/models.py:2467 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2470 +#: common/models.py:2472 msgid "Whole Word Search" msgstr "" -#: common/models.py:2471 +#: common/models.py:2473 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2476 +#: common/models.py:2478 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2477 +#: common/models.py:2479 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2482 +#: common/models.py:2484 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2483 +#: common/models.py:2485 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2488 +#: common/models.py:2490 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2489 +#: common/models.py:2491 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2494 +#: common/models.py:2496 msgid "Date Format" msgstr "" -#: common/models.py:2495 +#: common/models.py:2497 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2508 part/templates/part/detail.html:41 +#: common/models.py:2510 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2509 +#: common/models.py:2511 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2514 part/templates/part/detail.html:62 +#: common/models.py:2516 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2516 +#: common/models.py:2518 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2522 +#: common/models.py:2524 msgid "Table String Length" msgstr "" -#: common/models.py:2524 +#: common/models.py:2526 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2530 +#: common/models.py:2532 msgid "Receive error reports" msgstr "" -#: common/models.py:2531 +#: common/models.py:2533 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2536 +#: common/models.py:2538 msgid "Last used printing machines" msgstr "" -#: common/models.py:2537 +#: common/models.py:2539 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2557 common/models.py:2558 common/models.py:2715 -#: common/models.py:2716 common/models.py:2961 common/models.py:2962 -#: common/models.py:3288 common/models.py:3289 importer/models.py:88 -#: part/models.py:3307 part/models.py:3394 part/models.py:3468 -#: part/models.py:3496 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2559 common/models.py:2560 common/models.py:2717 +#: common/models.py:2718 common/models.py:2963 common/models.py:2964 +#: common/models.py:3287 common/models.py:3288 importer/models.py:89 +#: part/models.py:3319 part/models.py:3406 part/models.py:3480 +#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 -#: templates/js/translated/stock.js:3120 users/models.py:111 +#: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2580 +#: common/models.py:2582 msgid "Price break quantity" msgstr "" -#: common/models.py:2587 company/serializers.py:513 order/admin.py:42 -#: order/models.py:1430 order/models.py:2417 +#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" msgstr "" -#: common/models.py:2588 +#: common/models.py:2590 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2692 common/models.py:2877 +#: common/models.py:2694 common/models.py:2879 msgid "Endpoint" msgstr "" -#: common/models.py:2693 +#: common/models.py:2695 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2703 +#: common/models.py:2705 msgid "Name for this webhook" msgstr "" -#: common/models.py:2707 +#: common/models.py:2709 msgid "Is this webhook active" msgstr "" -#: common/models.py:2723 users/models.py:159 +#: common/models.py:2725 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2724 +#: common/models.py:2726 msgid "Token for access" msgstr "" -#: common/models.py:2732 +#: common/models.py:2734 msgid "Secret" msgstr "" -#: common/models.py:2733 +#: common/models.py:2735 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2841 +#: common/models.py:2843 msgid "Message ID" msgstr "" -#: common/models.py:2842 +#: common/models.py:2844 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2850 +#: common/models.py:2852 msgid "Host" msgstr "" -#: common/models.py:2851 +#: common/models.py:2853 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2861 msgid "Header" msgstr "" -#: common/models.py:2860 +#: common/models.py:2862 msgid "Header of this message" msgstr "" -#: common/models.py:2867 +#: common/models.py:2869 msgid "Body" msgstr "" -#: common/models.py:2868 +#: common/models.py:2870 msgid "Body of this message" msgstr "" -#: common/models.py:2878 +#: common/models.py:2880 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2883 +#: common/models.py:2885 msgid "Worked on" msgstr "" -#: common/models.py:2884 +#: common/models.py:2886 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3010 +#: common/models.py:3012 msgid "Id" msgstr "" -#: common/models.py:3012 templates/js/translated/company.js:965 +#: common/models.py:3014 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3014 common/models.py:3272 company/models.py:149 -#: company/models.py:446 company/models.py:512 company/models.py:818 -#: order/models.py:302 order/models.py:1385 order/models.py:1817 -#: part/admin.py:55 part/models.py:1057 +#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: company/models.py:443 company/models.py:509 company/models.py:815 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 +#: part/admin.py:55 part/models.py:1069 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 -#: stock/admin.py:229 templates/js/translated/company.js:1319 +#: stock/admin.py:230 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:376 #: templates/js/translated/part.js:2475 #: templates/js/translated/purchase_order.js:2110 @@ -3844,28 +3853,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3016 templates/js/translated/news.js:60 +#: common/models.py:3018 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3018 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3020 templates/js/translated/news.js:52 +#: common/models.py:3022 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Read" msgstr "" -#: common/models.py:3023 +#: common/models.py:3025 msgid "Was this news item read?" msgstr "" -#: common/models.py:3040 company/models.py:159 part/models.py:1067 +#: common/models.py:3042 company/models.py:156 part/models.py:1079 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 @@ -3875,200 +3884,292 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3040 +#: common/models.py:3042 msgid "Image file" msgstr "" -#: common/models.py:3052 common/models.py:3256 +#: common/models.py:3054 common/models.py:3255 msgid "Target model type for this image" msgstr "" -#: common/models.py:3056 +#: common/models.py:3058 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3078 +#: common/models.py:3080 msgid "Custom Unit" msgstr "" -#: common/models.py:3099 +#: common/models.py:3098 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3114 +#: common/models.py:3113 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3133 +#: common/models.py:3132 msgid "Unit name" msgstr "" -#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3141 +#: common/models.py:3140 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3148 +#: common/models.py:3147 msgid "Unit definition" msgstr "" -#: common/models.py:3206 common/models.py:3263 stock/models.py:2558 -#: templates/js/translated/attachment.js:119 +#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3218 +#: common/models.py:3217 msgid "Missing file" msgstr "" -#: common/models.py:3219 +#: common/models.py:3218 msgid "Missing external link" msgstr "" -#: common/models.py:3264 +#: common/models.py:3263 msgid "Select file to attach" msgstr "" -#: common/models.py:3279 templates/js/translated/attachment.js:120 +#: common/models.py:3278 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3280 +#: common/models.py:3279 msgid "Attachment comment" msgstr "" -#: common/models.py:3296 +#: common/models.py:3295 msgid "Upload date" msgstr "" -#: common/models.py:3297 +#: common/models.py:3296 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size" msgstr "" -#: common/models.py:3301 +#: common/models.py:3300 msgid "File size in bytes" msgstr "" -#: common/models.py:3339 common/serializers.py:562 +#: common/models.py:3338 common/serializers.py:588 msgid "Invalid model type specified for attachment" msgstr "" -#: common/notifications.py:314 +#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +msgid "Key" +msgstr "" + +#: common/models.py:3348 +msgid "Value that will be saved in the models database" +msgstr "" + +#: common/models.py:3351 +msgid "Name of the state" +msgstr "" + +#: common/models.py:3355 +msgid "Label" +msgstr "" + +#: common/models.py:3356 +msgid "Label that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3362 +msgid "Color" +msgstr "" + +#: common/models.py:3363 +msgid "Color that will be displayed in the frontend" +msgstr "" + +#: common/models.py:3366 +msgid "Logical Key" +msgstr "" + +#: common/models.py:3368 +msgid "State logical key that is equal to this custom state in business logic" +msgstr "" + +#: common/models.py:3376 +msgid "Model" +msgstr "" + +#: common/models.py:3377 +msgid "Model this state is associated with" +msgstr "" + +#: common/models.py:3381 +msgid "Reference Status Set" +msgstr "" + +#: common/models.py:3382 +msgid "Status set that is extended with this custom state" +msgstr "" + +#: common/models.py:3388 +msgid "Custom State" +msgstr "" + +#: common/models.py:3389 +msgid "Custom States" +msgstr "" + +#: common/models.py:3404 +msgid "Model must be selected" +msgstr "" + +#: common/models.py:3407 +msgid "Key must be selected" +msgstr "" + +#: common/models.py:3410 +msgid "Logical key must be selected" +msgstr "" + +#: common/models.py:3414 +msgid "Key must be different from logical key" +msgstr "" + +#: common/models.py:3418 +msgid "Reference status must be selected" +msgstr "" + +#: common/models.py:3430 +msgid "Reference status set not found" +msgstr "" + +#: common/models.py:3436 +msgid "Key must be different from the logical keys of the reference status" +msgstr "" + +#: common/models.py:3442 +msgid "Logical key must be in the logical keys of the reference status" +msgstr "" + +#: common/notifications.py:310 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:316 +#: common/notifications.py:312 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:322 +#: common/notifications.py:318 #, python-brace-format msgid "{verbose_name} canceled" msgstr "" -#: common/notifications.py:324 +#: common/notifications.py:320 msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:462 +#: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" msgstr "" -#: common/notifications.py:332 +#: common/notifications.py:328 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:339 +#: common/notifications.py:335 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:457 +#: common/notifications.py:453 msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:375 +#: common/serializers.py:402 msgid "Is Running" msgstr "" -#: common/serializers.py:381 +#: common/serializers.py:408 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:387 +#: common/serializers.py:414 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:393 +#: common/serializers.py:420 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Task ID" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:435 msgid "Unique task ID" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:437 msgid "Lock time" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:439 msgid "Task name" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:441 msgid "Function name" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Arguments" msgstr "" -#: common/serializers.py:416 +#: common/serializers.py:443 msgid "Task arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:419 +#: common/serializers.py:446 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:529 +#: common/serializers.py:556 msgid "Filename" msgstr "" -#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:565 +#: common/serializers.py:591 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4116,15 +4217,15 @@ msgstr "" msgid "Match Items" msgstr "" -#: common/views.py:401 +#: common/views.py:397 msgid "Fields matching failed" msgstr "" -#: common/views.py:464 +#: common/views.py:460 msgid "Parts imported" msgstr "" -#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:490 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -4155,214 +4256,214 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:371 +#: company/models.py:97 company/models.py:368 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:812 +#: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" -#: company/models.py:101 company/views.py:51 +#: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/models.py:117 +#: company/models.py:114 msgid "Company description" msgstr "" -#: company/models.py:118 +#: company/models.py:115 msgid "Description of the company" msgstr "" -#: company/models.py:123 company/templates/company/company_base.html:106 +#: company/models.py:120 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" msgstr "" -#: company/models.py:123 +#: company/models.py:120 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:125 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:127 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:134 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:275 -#: company/templates/company/company_base.html:145 order/models.py:342 +#: company/models.py:139 company/models.py:272 +#: company/templates/company/company_base.html:145 order/models.py:343 #: order/templates/order/order_base.html:208 #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:141 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:147 msgid "Link to external company information" msgstr "" -#: company/models.py:163 +#: company/models.py:160 msgid "Is this company active?" msgstr "" -#: company/models.py:168 +#: company/models.py:165 msgid "Is customer" msgstr "" -#: company/models.py:169 +#: company/models.py:166 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:174 +#: company/models.py:171 msgid "Is supplier" msgstr "" -#: company/models.py:175 +#: company/models.py:172 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:180 +#: company/models.py:177 msgid "Is manufacturer" msgstr "" -#: company/models.py:181 +#: company/models.py:178 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:189 +#: company/models.py:186 msgid "Default currency used for this company" msgstr "" -#: company/models.py:314 company/templates/company/company_base.html:124 -#: order/models.py:352 order/templates/order/order_base.html:215 +#: company/models.py:311 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:215 #: order/templates/order/return_order_base.html:184 #: order/templates/order/sales_order_base.html:228 msgid "Address" msgstr "" -#: company/models.py:315 company/templates/company/sidebar.html:35 +#: company/models.py:312 company/templates/company/sidebar.html:35 msgid "Addresses" msgstr "" -#: company/models.py:372 +#: company/models.py:369 msgid "Select company" msgstr "" -#: company/models.py:377 +#: company/models.py:374 msgid "Address title" msgstr "" -#: company/models.py:378 +#: company/models.py:375 msgid "Title describing the address entry" msgstr "" -#: company/models.py:384 +#: company/models.py:381 msgid "Primary address" msgstr "" -#: company/models.py:385 +#: company/models.py:382 msgid "Set as primary address" msgstr "" -#: company/models.py:390 templates/js/translated/company.js:914 +#: company/models.py:387 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:391 +#: company/models.py:388 msgid "Address line 1" msgstr "" -#: company/models.py:397 templates/js/translated/company.js:915 +#: company/models.py:394 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:398 +#: company/models.py:395 msgid "Address line 2" msgstr "" -#: company/models.py:404 company/models.py:405 +#: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:411 +#: company/models.py:408 msgid "City/Region" msgstr "" -#: company/models.py:412 +#: company/models.py:409 msgid "Postal code city/region" msgstr "" -#: company/models.py:418 +#: company/models.py:415 msgid "State/Province" msgstr "" -#: company/models.py:419 +#: company/models.py:416 msgid "State or province" msgstr "" -#: company/models.py:425 templates/js/translated/company.js:1001 +#: company/models.py:422 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:426 +#: company/models.py:423 msgid "Address country" msgstr "" -#: company/models.py:432 +#: company/models.py:429 msgid "Courier shipping notes" msgstr "" -#: company/models.py:433 +#: company/models.py:430 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:439 +#: company/models.py:436 msgid "Internal shipping notes" msgstr "" -#: company/models.py:440 +#: company/models.py:437 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:447 +#: company/models.py:444 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:811 +#: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:779 stock/models.py:787 -#: stock/serializers.py:445 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:776 stock/models.py:791 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:781 +#: company/models.py:486 company/models.py:778 msgid "Select part" msgstr "" -#: company/models.py:498 company/templates/company/company_base.html:82 +#: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:554 +#: company/templates/company/supplier_part.html:145 part/serializers.py:567 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4372,13 +4473,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:499 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 order/serializers.py:556 -#: part/serializers.py:564 templates/js/translated/company.js:351 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:557 +#: part/serializers.py:577 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4387,72 +4488,72 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:513 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:519 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:572 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:591 msgid "Parameter name" msgstr "" -#: company/models.py:600 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2550 templates/js/translated/company.js:1166 +#: company/models.py:597 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2544 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" msgstr "" -#: company/models.py:601 +#: company/models.py:598 msgid "Parameter value" msgstr "" -#: company/models.py:608 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1147 part/models.py:3771 -#: part/templates/part/part_base.html:293 +#: company/models.py:605 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:606 msgid "Parameter units" msgstr "" -#: company/models.py:662 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:442 -#: order/serializers.py:491 stock/models.py:798 +#: company/models.py:659 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:440 +#: order/serializers.py:492 stock/models.py:802 #: stock/templates/stock/item_base.html:233 -#: templates/js/translated/build.js:1052 +#: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2366 msgid "Supplier Part" msgstr "" -#: company/models.py:719 +#: company/models.py:716 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:726 +#: company/models.py:723 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:740 +#: company/models.py:737 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:789 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:491 -#: order/templates/order/order_base.html:141 part/bom.py:280 part/bom.py:318 -#: part/serializers.py:538 plugin/builtin/suppliers/digikey.py:25 +#: company/models.py:786 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:492 +#: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 +#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 #: 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 @@ -4465,56 +4566,56 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:790 +#: company/models.py:787 msgid "Select supplier" msgstr "" -#: company/models.py:796 part/serializers.py:549 +#: company/models.py:793 part/serializers.py:562 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:802 +#: company/models.py:799 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:812 +#: company/models.py:809 msgid "Select manufacturer part" msgstr "" -#: company/models.py:819 +#: company/models.py:816 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:828 +#: company/models.py:825 msgid "Supplier part description" msgstr "" -#: company/models.py:835 company/templates/company/supplier_part.html:187 -#: order/serializers.py:698 part/admin.py:415 part/models.py:4288 +#: company/models.py:832 company/templates/company/supplier_part.html:187 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:776 templates/js/translated/purchase_order.js:1185 +#: stock/serializers.py:783 templates/js/translated/purchase_order.js:1185 #: templates/js/translated/purchase_order.js:1344 msgid "Note" msgstr "" -#: company/models.py:844 part/models.py:2117 +#: company/models.py:841 part/models.py:2129 msgid "base cost" msgstr "" -#: company/models.py:845 part/models.py:2118 +#: company/models.py:842 part/models.py:2130 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:853 +#: company/models.py:850 msgid "Part packaging" msgstr "" -#: company/models.py:858 templates/js/translated/company.js:1651 +#: company/models.py:855 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 @@ -4524,43 +4625,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:860 +#: company/models.py:857 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:879 part/models.py:2124 +#: company/models.py:876 part/models.py:2136 msgid "multiple" msgstr "" -#: company/models.py:880 +#: company/models.py:877 msgid "Order multiple" msgstr "" -#: company/models.py:892 +#: company/models.py:889 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:898 +#: company/models.py:895 msgid "Availability Updated" msgstr "" -#: company/models.py:899 +#: company/models.py:896 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1027 +#: company/models.py:1024 msgid "Supplier Price Break" msgstr "" -#: company/serializers.py:174 +#: company/serializers.py:178 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:210 +#: company/serializers.py:214 msgid "Company Name" msgstr "" -#: company/serializers.py:393 part/admin.py:126 part/serializers.py:898 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4630,16 +4731,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:990 -#: order/models.py:2147 order/templates/order/return_order_base.html:134 -#: order/templates/order/sales_order_base.html:151 stock/models.py:840 -#: stock/models.py:841 stock/serializers.py:1329 +#: company/templates/company/company_base.html:92 order/models.py:991 +#: order/models.py:2140 order/templates/order/return_order_base.html:134 +#: order/templates/order/sales_order_base.html:151 stock/models.py:844 +#: stock/models.py:845 stock/serializers.py:1336 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 #: templates/js/translated/sales_order.js:820 -#: templates/js/translated/stock.js:3043 +#: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" msgstr "" @@ -4653,7 +4754,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:536 +#: part/templates/part/part_base.html:543 msgid "Remove Image" msgstr "" @@ -4662,19 +4763,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:539 +#: part/templates/part/part_base.html:546 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:568 +#: part/templates/part/part_base.html:575 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:622 +#: part/templates/part/part_base.html:629 msgid "Download Image" msgstr "" @@ -4827,8 +4928,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:448 -#: order/serializers.py:564 +#: company/templates/company/supplier_part.html:97 order/api.py:446 +#: order/serializers.py:565 msgid "Internal Part" msgstr "" @@ -4838,7 +4939,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:904 +#: part/admin.py:122 part/serializers.py:925 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4928,8 +5029,8 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 order/serializers.py:553 -#: part/bom.py:287 part/bom.py:319 part/serializers.py:548 +#: company/templates/company/supplier_part.html:139 order/serializers.py:554 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -4983,16 +5084,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:902 part/stocktake.py:223 +#: part/serializers.py:923 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:1014 stock/serializers.py:1192 +#: stock/serializers.py:1021 stock/serializers.py:1199 #: stock/templates/stock/location.html:167 #: stock/templates/stock/location.html:188 #: stock/templates/stock/location.html:200 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1067 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2850 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2851 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -5022,99 +5123,107 @@ msgstr "" msgid "New Company" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 +#: generic/states/fields.py:118 +msgid "Custom status key" +msgstr "" + +#: generic/states/fields.py:119 +msgid "Additional status information for this item" +msgstr "" + +#: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" msgstr "" -#: importer/mixins.py:263 +#: importer/mixins.py:261 msgid "Invalid export format" msgstr "" -#: importer/models.py:59 +#: importer/models.py:60 msgid "Timestamp" msgstr "" -#: importer/models.py:64 +#: importer/models.py:65 msgid "Data file to import" msgstr "" -#: importer/models.py:73 templates/js/translated/tables.js:558 +#: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: importer/models.py:84 +#: importer/models.py:85 msgid "Import status" msgstr "" -#: importer/models.py:94 +#: importer/models.py:95 msgid "Field Defaults" msgstr "" -#: importer/models.py:101 +#: importer/models.py:102 msgid "Field Overrides" msgstr "" -#: importer/models.py:108 +#: importer/models.py:109 msgid "Field Filters" msgstr "" -#: importer/models.py:230 +#: importer/models.py:231 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:387 +#: importer/models.py:388 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:392 +#: importer/models.py:393 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:401 +#: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:406 +#: importer/models.py:407 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:413 +#: importer/models.py:414 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:417 +#: importer/models.py:418 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:422 importer/models.py:493 +#: importer/models.py:423 importer/models.py:494 msgid "Import Session" msgstr "" -#: importer/models.py:426 +#: importer/models.py:427 msgid "Field" msgstr "" -#: importer/models.py:428 +#: importer/models.py:429 msgid "Column" msgstr "" -#: importer/models.py:497 +#: importer/models.py:498 msgid "Row Index" msgstr "" -#: importer/models.py:500 +#: importer/models.py:501 msgid "Original row data" msgstr "" -#: importer/models.py:503 part/models.py:3951 +#: importer/models.py:504 part/models.py:3965 msgid "Data" msgstr "" -#: importer/models.py:505 machine/models.py:110 +#: importer/models.py:506 machine/models.py:110 msgid "Errors" msgstr "" -#: importer/models.py:507 part/api.py:873 +#: importer/models.py:508 part/api.py:870 msgid "Valid" msgstr "" @@ -5166,19 +5275,19 @@ msgstr "" msgid "Row has already been completed" msgstr "" -#: importer/status_codes.py:11 +#: importer/status_codes.py:13 msgid "Initializing" msgstr "" -#: importer/status_codes.py:12 +#: importer/status_codes.py:18 msgid "Mapping Columns" msgstr "" -#: importer/status_codes.py:13 +#: importer/status_codes.py:21 msgid "Importing Data" msgstr "" -#: importer/status_codes.py:16 +#: importer/status_codes.py:24 msgid "Processing Data" msgstr "" @@ -5202,52 +5311,52 @@ msgstr "" msgid "Value must be a valid dictionary object" msgstr "" -#: machine/machine_types/label_printer.py:215 +#: machine/machine_types/label_printer.py:216 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:216 +#: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:232 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:232 order/api.py:1410 +#: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:234 +#: machine/machine_types/label_printer.py:235 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Paper jam" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:243 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:250 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -5303,7 +5412,7 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 +#: order/admin.py:30 order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:352 @@ -5312,7 +5421,7 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:80 order/api.py:151 order/serializers.py:93 +#: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 #: order/templates/order/return_order_base.html:116 #: order/templates/order/sales_order_base.html:125 @@ -5345,232 +5454,232 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:425 order/api.py:763 order/models.py:1484 order/models.py:1598 -#: order/models.py:1649 order/models.py:1764 order/models.py:1923 -#: order/models.py:2383 order/models.py:2439 +#: order/api.py:423 order/api.py:757 order/models.py:1477 order/models.py:1591 +#: order/models.py:1642 order/models.py:1757 order/models.py:1916 +#: order/models.py:2376 order/models.py:2432 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:429 order/api.py:784 +#: order/api.py:427 order/api.py:778 msgid "Order Complete" msgstr "" -#: order/api.py:452 +#: order/api.py:450 msgid "Order Pending" msgstr "" -#: order/api.py:1404 order/models.py:379 order/models.py:1485 -#: order/models.py:1599 order/templates/order/order_base.html:9 +#: order/api.py:1391 order/models.py:380 order/models.py:1478 +#: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 #: templates/js/translated/purchase_order.js:1743 -#: templates/js/translated/stock.js:2345 templates/js/translated/stock.js:2991 +#: templates/js/translated/stock.js:2346 templates/js/translated/stock.js:2992 msgid "Purchase Order" msgstr "" -#: order/api.py:1408 order/models.py:2091 order/models.py:2384 -#: order/models.py:2440 order/templates/order/return_order_base.html:9 +#: order/api.py:1395 order/models.py:2084 order/models.py:2377 +#: order/models.py:2433 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 -#: templates/js/translated/stock.js:3025 +#: templates/js/translated/stock.js:3026 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:247 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:289 +#: order/models.py:290 msgid "Order description (optional)" msgstr "" -#: order/models.py:298 +#: order/models.py:299 msgid "Select project code for this order" msgstr "" -#: order/models.py:302 order/models.py:1385 order/models.py:1817 +#: order/models.py:303 order/models.py:1378 order/models.py:1810 msgid "Link to external page" msgstr "" -#: order/models.py:310 +#: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:324 +#: order/models.py:325 msgid "Created By" msgstr "" -#: order/models.py:332 +#: order/models.py:333 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:343 +#: order/models.py:344 msgid "Point of contact for this order" msgstr "" -#: order/models.py:353 +#: order/models.py:354 msgid "Company address for this order" msgstr "" -#: order/models.py:468 order/models.py:979 +#: order/models.py:469 order/models.py:980 msgid "Order reference" msgstr "" -#: order/models.py:477 +#: order/models.py:478 msgid "Purchase order status" msgstr "" -#: order/models.py:492 +#: order/models.py:493 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:503 order/templates/order/order_base.html:153 +#: order/models.py:504 order/templates/order/order_base.html:153 #: templates/js/translated/purchase_order.js:1772 msgid "Supplier Reference" msgstr "" -#: order/models.py:504 +#: order/models.py:505 msgid "Supplier order reference code" msgstr "" -#: order/models.py:513 +#: order/models.py:514 msgid "received by" msgstr "" -#: order/models.py:519 order/models.py:2173 +#: order/models.py:520 order/models.py:2166 msgid "Issue Date" msgstr "" -#: order/models.py:520 order/models.py:2174 +#: order/models.py:521 order/models.py:2167 msgid "Date order was issued" msgstr "" -#: order/models.py:527 order/models.py:2181 +#: order/models.py:528 order/models.py:2174 msgid "Date order was completed" msgstr "" -#: order/models.py:571 +#: order/models.py:572 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:806 +#: order/models.py:807 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:991 +#: order/models.py:992 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1003 +#: order/models.py:1004 msgid "Sales order status" msgstr "" -#: order/models.py:1014 order/models.py:2166 +#: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " msgstr "" -#: order/models.py:1015 order/models.py:2167 +#: order/models.py:1016 order/models.py:2160 msgid "Customer order reference code" msgstr "" -#: order/models.py:1019 order/models.py:1771 +#: order/models.py:1020 order/models.py:1764 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:1028 +#: order/models.py:1029 msgid "shipped by" msgstr "" -#: order/models.py:1077 +#: order/models.py:1070 msgid "Order is already complete" msgstr "" -#: order/models.py:1080 +#: order/models.py:1073 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1084 +#: order/models.py:1077 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1088 +#: order/models.py:1081 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1093 +#: order/models.py:1086 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1357 +#: order/models.py:1350 msgid "Item quantity" msgstr "" -#: order/models.py:1374 +#: order/models.py:1367 msgid "Line item reference" msgstr "" -#: order/models.py:1381 +#: order/models.py:1374 msgid "Line item notes" msgstr "" -#: order/models.py:1393 +#: order/models.py:1386 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1414 +#: order/models.py:1407 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1420 +#: order/models.py:1413 msgid "Context" msgstr "" -#: order/models.py:1421 +#: order/models.py:1414 msgid "Additional context for this line" msgstr "" -#: order/models.py:1431 +#: order/models.py:1424 msgid "Unit price" msgstr "" -#: order/models.py:1445 +#: order/models.py:1438 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1469 +#: order/models.py:1462 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1476 +#: order/models.py:1469 msgid "deleted" msgstr "" -#: order/models.py:1504 +#: order/models.py:1497 msgid "Supplier part" msgstr "" -#: order/models.py:1511 order/templates/order/order_base.html:201 +#: order/models.py:1504 order/templates/order/order_base.html:201 #: templates/js/translated/part.js:1876 templates/js/translated/part.js:1908 #: templates/js/translated/purchase_order.js:1369 #: templates/js/translated/purchase_order.js:2239 @@ -5580,329 +5689,329 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1512 +#: order/models.py:1505 msgid "Number of items received" msgstr "" -#: order/models.py:1520 stock/models.py:959 stock/serializers.py:610 +#: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2396 +#: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" -#: order/models.py:1521 +#: order/models.py:1514 msgid "Unit purchase price" msgstr "" -#: order/models.py:1536 +#: order/models.py:1529 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1587 +#: order/models.py:1580 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1616 +#: order/models.py:1609 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1637 +#: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1642 +#: order/models.py:1635 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1668 part/templates/part/part_pricing.html:107 +#: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1669 +#: order/models.py:1662 msgid "Unit sale price" msgstr "" -#: order/models.py:1678 order/status_codes.py:48 +#: order/models.py:1671 order/status_codes.py:48 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1679 +#: order/models.py:1672 msgid "Shipped quantity" msgstr "" -#: order/models.py:1751 +#: order/models.py:1744 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:1772 +#: order/models.py:1765 msgid "Date of shipment" msgstr "" -#: order/models.py:1778 templates/js/translated/sales_order.js:1072 +#: order/models.py:1771 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1779 +#: order/models.py:1772 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1787 +#: order/models.py:1780 msgid "Checked By" msgstr "" -#: order/models.py:1788 +#: order/models.py:1781 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1795 order/models.py:2018 order/serializers.py:1475 -#: order/serializers.py:1585 templates/js/translated/model_renderers.js:455 +#: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 +#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" -#: order/models.py:1796 +#: order/models.py:1789 msgid "Shipment number" msgstr "" -#: order/models.py:1804 +#: order/models.py:1797 msgid "Tracking Number" msgstr "" -#: order/models.py:1805 +#: order/models.py:1798 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1812 +#: order/models.py:1805 msgid "Invoice Number" msgstr "" -#: order/models.py:1813 +#: order/models.py:1806 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1833 +#: order/models.py:1826 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1836 +#: order/models.py:1829 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1912 +#: order/models.py:1905 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:1941 +#: order/models.py:1934 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:1964 order/models.py:1966 +#: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1973 +#: order/models.py:1966 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1976 +#: order/models.py:1969 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1979 +#: order/models.py:1972 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1998 order/serializers.py:1345 +#: order/models.py:1991 order/serializers.py:1349 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2001 +#: order/models.py:1994 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2002 plugin/base/barcodes/api.py:524 +#: order/models.py:1995 plugin/base/barcodes/api.py:523 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2010 +#: order/models.py:2003 msgid "Line" msgstr "" -#: order/models.py:2019 +#: order/models.py:2012 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2032 order/models.py:2391 +#: order/models.py:2025 order/models.py:2384 #: templates/js/translated/return_order.js:720 msgid "Item" msgstr "" -#: order/models.py:2033 +#: order/models.py:2026 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2042 +#: order/models.py:2035 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2136 +#: order/models.py:2129 msgid "Return Order reference" msgstr "" -#: order/models.py:2148 +#: order/models.py:2141 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2160 +#: order/models.py:2153 msgid "Return order status" msgstr "" -#: order/models.py:2362 +#: order/models.py:2355 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2376 +#: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2392 +#: order/models.py:2385 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2398 +#: order/models.py:2391 msgid "Received Date" msgstr "" -#: order/models.py:2399 +#: order/models.py:2392 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2410 templates/js/translated/return_order.js:731 +#: order/models.py:2403 templates/js/translated/return_order.js:731 #: templates/js/translated/table_filters.js:122 msgid "Outcome" msgstr "" -#: order/models.py:2411 +#: order/models.py:2404 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2418 +#: order/models.py:2411 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2428 +#: order/models.py:2421 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:86 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:283 stock/admin.py:195 +#: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" msgstr "" -#: order/serializers.py:331 +#: order/serializers.py:332 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:346 order/serializers.py:1366 +#: order/serializers.py:347 order/serializers.py:1370 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:356 order/serializers.py:1376 +#: order/serializers.py:357 order/serializers.py:1380 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:506 +#: order/serializers.py:507 msgid "Order is not open" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:528 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:530 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:540 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:546 msgid "Merge Items" msgstr "" -#: order/serializers.py:547 +#: order/serializers.py:548 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:560 part/models.py:1033 +#: order/serializers.py:561 part/models.py:1045 part/serializers.py:354 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:584 +#: order/serializers.py:585 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:587 +#: order/serializers.py:588 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:595 +#: order/serializers.py:596 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:596 +#: order/serializers.py:597 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:639 order/serializers.py:1446 +#: order/serializers.py:640 order/serializers.py:1450 msgid "Line Item" msgstr "" -#: order/serializers.py:645 +#: order/serializers.py:646 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:655 order/serializers.py:779 order/serializers.py:1782 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:671 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:679 templates/js/translated/purchase_order.js:1155 +#: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:692 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:700 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:706 templates/js/translated/barcode.js:52 +#: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:708 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:723 +#: order/serializers.py:724 msgid "Barcode is already in use" msgstr "" @@ -5910,7 +6019,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1798 +#: order/serializers.py:795 order/serializers.py:1806 msgid "Line items must be provided" msgstr "" @@ -5922,59 +6031,59 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1191 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1248 +#: order/serializers.py:1252 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1309 order/serializers.py:1455 +#: order/serializers.py:1313 order/serializers.py:1459 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1332 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1465 +#: order/serializers.py:1469 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1487 order/serializers.py:1593 +#: order/serializers.py:1491 order/serializers.py:1597 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1490 order/serializers.py:1596 +#: order/serializers.py:1494 order/serializers.py:1600 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1537 +#: order/serializers.py:1541 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1544 +#: order/serializers.py:1548 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1752 +#: order/serializers.py:1760 msgid "Return order line item" msgstr "" -#: order/serializers.py:1758 +#: order/serializers.py:1766 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1761 +#: order/serializers.py:1769 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1790 +#: order/serializers.py:1798 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1873 +#: order/serializers.py:1881 msgid "Line price currency" msgstr "" @@ -5982,7 +6091,7 @@ msgstr "" msgid "Lost" msgstr "" -#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:22 +#: order/status_codes.py:18 order/status_codes.py:53 stock/status_codes.py:24 msgid "Returned" msgstr "" @@ -6184,8 +6293,8 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:133 templates/js/translated/build.js:530 -#: templates/js/translated/build.js:1802 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:533 +#: templates/js/translated/build.js:1805 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1288 #: templates/js/translated/return_order.js:505 @@ -6370,7 +6479,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1063 +#: templates/js/translated/bom.js:1277 templates/js/translated/build.js:1066 #: templates/js/translated/filters.js:299 msgid "Actions" msgstr "" @@ -6401,21 +6510,22 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1032 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 -#: templates/js/translated/stock.js:2121 +#: templates/js/translated/stock.js:2122 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:1041 part/templates/part/part_base.html:286 +#: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:2353 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:1014 -#: part/templates/part/category.html:91 part/templates/part/part_base.html:307 +#: part/admin.py:53 part/admin.py:319 part/models.py:1026 +#: part/templates/part/category.html:91 part/templates/part/part_base.html:314 msgid "Keywords" msgstr "" @@ -6427,7 +6537,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:880 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6440,11 +6550,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:1000 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:1012 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1138 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -6452,23 +6562,23 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:897 -#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: part/admin.py:150 part/serializers.py:918 +#: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3202 part/models.py:3216 +#: part/admin.py:155 part/models.py:3214 part/models.py:3228 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3209 part/models.py:3223 +#: part/admin.py:158 part/models.py:3221 part/models.py:3235 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" -#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 +#: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6481,8 +6591,8 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:425 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:415 +#: part/admin.py:325 part/models.py:420 part/serializers.py:130 +#: part/serializers.py:290 part/serializers.py:428 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6509,13 +6619,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1346 +#: part/admin.py:418 part/serializers.py:1367 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1361 +#: part/admin.py:423 part/serializers.py:1382 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6545,94 +6655,98 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" +#: part/api.py:156 stock/api.py:343 +msgid "Cascade" +msgstr "" + #: part/api.py:158 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:311 +#: part/api.py:178 templates/js/translated/part.js:311 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:180 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:213 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:215 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:441 +#: part/api.py:440 msgid "Has Results" msgstr "" -#: part/api.py:608 +#: part/api.py:605 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:626 +#: part/api.py:623 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:642 +#: part/api.py:639 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:726 +#: part/api.py:723 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:874 +#: part/api.py:871 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:880 +#: part/api.py:877 msgid "This option must be selected" msgstr "" -#: part/api.py:916 +#: part/api.py:913 msgid "Is Revision" msgstr "" -#: part/api.py:926 +#: part/api.py:923 msgid "Has Revisions" msgstr "" -#: part/api.py:1117 +#: part/api.py:1114 msgid "BOM Valid" msgstr "" -#: part/api.py:1523 part/models.py:1024 part/models.py:3489 part/models.py:4046 -#: part/serializers.py:430 part/serializers.py:1202 -#: part/templates/part/part_base.html:260 stock/api.py:781 +#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 +#: part/serializers.py:443 part/serializers.py:1223 +#: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" msgstr "" -#: part/api.py:1761 +#: part/api.py:1754 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1770 +#: part/api.py:1763 msgid "Component part is testable" msgstr "" -#: part/api.py:1821 +#: part/api.py:1814 msgid "Uses" msgstr "" -#: part/bom.py:178 part/models.py:107 part/models.py:1077 -#: part/templates/part/category.html:113 part/templates/part/part_base.html:376 +#: part/bom.py:183 part/models.py:108 part/models.py:1089 +#: part/templates/part/category.html:113 part/templates/part/part_base.html:383 #: templates/js/translated/part.js:2397 msgid "Default Location" msgstr "" -#: part/bom.py:179 part/serializers.py:905 +#: part/bom.py:184 part/serializers.py:926 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6641,421 +6755,421 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:88 part/models.py:4047 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:89 part/templates/part/category.html:133 +#: part/models.py:90 part/templates/part/category.html:133 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:108 +#: part/models.py:109 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:113 stock/models.py:187 templates/js/translated/part.js:2828 -#: templates/js/translated/stock.js:2856 +#: part/models.py:114 stock/models.py:192 templates/js/translated/part.js:2828 +#: templates/js/translated/stock.js:2857 #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" msgstr "" -#: part/models.py:115 +#: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:124 +#: part/models.py:125 msgid "Default keywords" msgstr "" -#: part/models.py:125 +#: part/models.py:126 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:131 stock/models.py:90 stock/models.py:169 +#: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" msgstr "" -#: part/models.py:132 part/serializers.py:143 part/serializers.py:161 -#: stock/models.py:170 +#: part/models.py:133 part/serializers.py:143 part/serializers.py:161 +#: stock/models.py:175 msgid "Icon (optional)" msgstr "" -#: part/models.py:178 +#: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:519 +#: part/models.py:514 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:522 +#: part/models.py:517 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:527 +#: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:565 +#: part/models.py:560 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:613 part/models.py:620 +#: part/models.py:608 part/models.py:615 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:632 +#: part/models.py:627 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:695 +#: part/models.py:690 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:703 +#: part/models.py:698 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:710 +#: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" msgstr "" -#: part/models.py:717 +#: part/models.py:712 msgid "Revision code must be specified" msgstr "" -#: part/models.py:724 +#: part/models.py:719 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:731 +#: part/models.py:726 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:737 +#: part/models.py:732 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:816 +#: part/models.py:826 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:917 +#: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:926 +#: part/models.py:939 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:936 +#: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:951 +#: part/models.py:963 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:983 part/models.py:4102 +#: part/models.py:995 part/models.py:4116 msgid "Part name" msgstr "" -#: part/models.py:988 +#: part/models.py:1000 msgid "Is Template" msgstr "" -#: part/models.py:989 +#: part/models.py:1001 msgid "Is this part a template part?" msgstr "" -#: part/models.py:999 +#: part/models.py:1011 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1007 +#: part/models.py:1019 msgid "Part description (optional)" msgstr "" -#: part/models.py:1015 +#: part/models.py:1027 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1025 +#: part/models.py:1037 msgid "Part category" msgstr "" -#: part/models.py:1040 +#: part/models.py:1052 part/serializers.py:360 msgid "Part revision or version number" msgstr "" -#: part/models.py:1050 +#: part/models.py:1062 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:277 +#: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" msgstr "" -#: part/models.py:1075 +#: part/models.py:1087 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1121 part/templates/part/part_base.html:385 +#: part/models.py:1133 part/templates/part/part_base.html:392 msgid "Default Supplier" msgstr "" -#: part/models.py:1122 +#: part/models.py:1134 msgid "Default supplier part" msgstr "" -#: part/models.py:1129 +#: part/models.py:1141 msgid "Default Expiry" msgstr "" -#: part/models.py:1130 +#: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1139 +#: part/models.py:1151 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1148 +#: part/models.py:1160 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1155 +#: part/models.py:1167 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1161 +#: part/models.py:1173 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1167 +#: part/models.py:1179 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1173 +#: part/models.py:1185 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1179 +#: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1185 +#: part/models.py:1197 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1189 +#: part/models.py:1201 msgid "Is this part active?" msgstr "" -#: part/models.py:1194 templates/js/translated/part.js:821 +#: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" msgstr "" -#: part/models.py:1195 +#: part/models.py:1207 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1201 +#: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1207 +#: part/models.py:1219 msgid "BOM checksum" msgstr "" -#: part/models.py:1208 +#: part/models.py:1220 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1216 +#: part/models.py:1228 msgid "BOM checked by" msgstr "" -#: part/models.py:1221 +#: part/models.py:1233 msgid "BOM checked date" msgstr "" -#: part/models.py:1237 +#: part/models.py:1249 msgid "Creation User" msgstr "" -#: part/models.py:1247 +#: part/models.py:1259 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1252 part/templates/part/part_base.html:348 +#: part/models.py:1264 part/templates/part/part_base.html:355 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2125 +#: part/models.py:2137 msgid "Sell multiple" msgstr "" -#: part/models.py:3116 +#: part/models.py:3128 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3132 +#: part/models.py:3144 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3133 +#: part/models.py:3145 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3139 +#: part/models.py:3151 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3140 +#: part/models.py:3152 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3146 +#: part/models.py:3158 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3147 +#: part/models.py:3159 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3153 +#: part/models.py:3165 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3154 +#: part/models.py:3166 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3160 +#: part/models.py:3172 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3161 +#: part/models.py:3173 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3167 +#: part/models.py:3179 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3168 +#: part/models.py:3180 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3174 +#: part/models.py:3186 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3175 +#: part/models.py:3187 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3181 +#: part/models.py:3193 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3182 +#: part/models.py:3194 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3188 +#: part/models.py:3200 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3189 +#: part/models.py:3201 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3195 +#: part/models.py:3207 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3196 +#: part/models.py:3208 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3203 +#: part/models.py:3215 msgid "Override minimum cost" msgstr "" -#: part/models.py:3210 +#: part/models.py:3222 msgid "Override maximum cost" msgstr "" -#: part/models.py:3217 +#: part/models.py:3229 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3224 +#: part/models.py:3236 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3230 +#: part/models.py:3242 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3231 +#: part/models.py:3243 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3237 +#: part/models.py:3249 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3238 +#: part/models.py:3250 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3244 +#: part/models.py:3256 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3245 +#: part/models.py:3257 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3263 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3252 +#: part/models.py:3264 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3271 +#: part/models.py:3283 msgid "Part for stocktake" msgstr "" -#: part/models.py:3276 +#: part/models.py:3288 msgid "Item Count" msgstr "" -#: part/models.py:3277 +#: part/models.py:3289 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3285 +#: part/models.py:3297 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3289 part/models.py:3372 +#: part/models.py:3301 part/models.py:3384 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7063,367 +7177,367 @@ msgstr "" #: templates/js/translated/part.js:1092 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1801 -#: templates/js/translated/stock.js:2905 +#: templates/js/translated/stock.js:2906 msgid "Date" msgstr "" -#: part/models.py:3290 +#: part/models.py:3302 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3298 +#: part/models.py:3310 msgid "Additional notes" msgstr "" -#: part/models.py:3308 +#: part/models.py:3320 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3314 +#: part/models.py:3326 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3315 +#: part/models.py:3327 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3321 +#: part/models.py:3333 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3322 +#: part/models.py:3334 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3378 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3379 +#: part/models.py:3391 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3384 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3385 +#: part/models.py:3397 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3395 +#: part/models.py:3407 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3405 +#: part/models.py:3417 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3517 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3543 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3564 part/models.py:3733 +#: part/models.py:3576 part/models.py:3745 msgid "Choices must be unique" msgstr "" -#: part/models.py:3575 +#: part/models.py:3587 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3586 +#: part/models.py:3598 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3603 templates/js/translated/part.js:2898 +#: part/models.py:3615 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3604 +#: part/models.py:3616 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3610 +#: part/models.py:3622 msgid "Test Key" msgstr "" -#: part/models.py:3611 +#: part/models.py:3623 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3618 +#: part/models.py:3630 msgid "Test Description" msgstr "" -#: part/models.py:3619 +#: part/models.py:3631 msgid "Enter description for this test" msgstr "" -#: part/models.py:3623 report/models.py:208 +#: part/models.py:3635 report/models.py:208 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3623 +#: part/models.py:3635 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3628 templates/js/translated/part.js:2927 +#: part/models.py:3640 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3629 +#: part/models.py:3641 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3634 templates/js/translated/part.js:2935 +#: part/models.py:3646 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3635 +#: part/models.py:3647 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2942 +#: part/models.py:3652 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3642 +#: part/models.py:3654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3648 part/models.py:3792 templates/js/translated/part.js:1643 +#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3649 +#: part/models.py:3661 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3681 +#: part/models.py:3693 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3708 +#: part/models.py:3720 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3713 +#: part/models.py:3725 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3750 +#: part/models.py:3762 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3765 +#: part/models.py:3777 msgid "Parameter Name" msgstr "" -#: part/models.py:3772 +#: part/models.py:3784 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3780 +#: part/models.py:3792 msgid "Parameter description" msgstr "" -#: part/models.py:3786 templates/js/translated/part.js:1634 +#: part/models.py:3798 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3787 +#: part/models.py:3799 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3793 +#: part/models.py:3805 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3827 +#: part/models.py:3839 msgid "Part Parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3865 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3889 +#: part/models.py:3903 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3938 +#: part/models.py:3952 msgid "Parent Part" msgstr "" -#: part/models.py:3946 part/models.py:4054 part/models.py:4055 +#: part/models.py:3960 part/models.py:4068 part/models.py:4069 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3952 +#: part/models.py:3966 msgid "Parameter Value" msgstr "" -#: part/models.py:4002 +#: part/models.py:4016 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4061 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4062 +#: part/models.py:4076 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4100 +#: part/models.py:4114 msgid "Part ID or part name" msgstr "" -#: part/models.py:4101 +#: part/models.py:4115 msgid "Unique part ID value" msgstr "" -#: part/models.py:4103 +#: part/models.py:4117 msgid "Part IPN value" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "Level" msgstr "" -#: part/models.py:4104 +#: part/models.py:4118 msgid "BOM level" msgstr "" -#: part/models.py:4215 +#: part/models.py:4228 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4222 +#: part/models.py:4235 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4232 +#: part/models.py:4245 msgid "Select parent part" msgstr "" -#: part/models.py:4242 +#: part/models.py:4255 msgid "Sub part" msgstr "" -#: part/models.py:4243 +#: part/models.py:4256 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4254 +#: part/models.py:4267 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4260 +#: part/models.py:4273 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4266 +#: part/models.py:4279 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4273 part/templates/part/upload_bom.html:55 +#: part/models.py:4286 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4274 +#: part/models.py:4287 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4281 +#: part/models.py:4294 msgid "BOM item reference" msgstr "" -#: part/models.py:4289 +#: part/models.py:4302 msgid "BOM item notes" msgstr "" -#: part/models.py:4295 +#: part/models.py:4308 msgid "Checksum" msgstr "" -#: part/models.py:4296 +#: part/models.py:4309 msgid "BOM line checksum" msgstr "" -#: part/models.py:4301 templates/js/translated/table_filters.js:181 +#: part/models.py:4314 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4302 +#: part/models.py:4315 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4307 part/templates/part/upload_bom.html:57 +#: part/models.py:4320 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4308 +#: part/models.py:4321 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4314 +#: part/models.py:4327 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4399 stock/models.py:685 +#: part/models.py:4412 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4409 part/models.py:4411 +#: part/models.py:4422 part/models.py:4424 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4551 +#: part/models.py:4561 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4572 +#: part/models.py:4582 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4585 +#: part/models.py:4595 msgid "Parent BOM item" msgstr "" -#: part/models.py:4593 +#: part/models.py:4603 msgid "Substitute part" msgstr "" -#: part/models.py:4609 +#: part/models.py:4619 msgid "Part 1" msgstr "" -#: part/models.py:4617 +#: part/models.py:4627 msgid "Part 2" msgstr "" -#: part/models.py:4618 +#: part/models.py:4628 msgid "Select Related Part" msgstr "" -#: part/models.py:4637 +#: part/models.py:4647 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4642 +#: part/models.py:4652 msgid "Duplicate relationship already exists" msgstr "" @@ -7449,7 +7563,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:616 +#: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" msgstr "" @@ -7457,326 +7571,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:434 msgid "No parts selected" msgstr "" -#: part/serializers.py:431 +#: part/serializers.py:444 msgid "Select category" msgstr "" -#: part/serializers.py:466 +#: part/serializers.py:479 msgid "Original Part" msgstr "" -#: part/serializers.py:467 +#: part/serializers.py:480 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:485 msgid "Copy Image" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:486 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:479 part/templates/part/detail.html:293 +#: part/serializers.py:492 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:493 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:499 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:500 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:506 msgid "Copy Notes" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:507 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:525 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:514 +#: part/serializers.py:527 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:521 +#: part/serializers.py:534 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:535 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:539 +#: part/serializers.py:552 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:555 +#: part/serializers.py:568 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:565 +#: part/serializers.py:578 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:572 +#: part/serializers.py:585 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:581 +#: part/serializers.py:594 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:592 +#: part/serializers.py:605 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:599 +#: part/serializers.py:612 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:924 msgid "Revisions" msgstr "" -#: part/serializers.py:908 +#: part/serializers.py:929 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:911 +#: part/serializers.py:932 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 part/templates/part/copy_part.html:9 +#: part/serializers.py:962 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:963 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 templates/js/translated/part.js:103 +#: part/serializers.py:969 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:970 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:976 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:977 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:985 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:986 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:991 msgid "Existing Image" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:992 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:1009 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1194 +#: part/serializers.py:1215 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1204 +#: part/serializers.py:1225 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1214 +#: part/serializers.py:1235 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1220 +#: part/serializers.py:1241 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1221 +#: part/serializers.py:1242 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1226 +#: part/serializers.py:1247 msgid "Generate Report" msgstr "" -#: part/serializers.py:1227 +#: part/serializers.py:1248 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1232 +#: part/serializers.py:1253 msgid "Update Parts" msgstr "" -#: part/serializers.py:1233 +#: part/serializers.py:1254 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1262 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1368 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1375 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1362 +#: part/serializers.py:1383 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1369 +#: part/serializers.py:1390 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1419 msgid "Update" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1420 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1422 +#: part/serializers.py:1443 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1429 +#: part/serializers.py:1450 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1432 +#: part/serializers.py:1453 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1576 +#: part/serializers.py:1597 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1585 +#: part/serializers.py:1606 msgid "Component Name" msgstr "" -#: part/serializers.py:1588 +#: part/serializers.py:1609 msgid "Component IPN" msgstr "" -#: part/serializers.py:1591 +#: part/serializers.py:1612 msgid "Component Description" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1618 msgid "Select the component part" msgstr "" -#: part/serializers.py:1606 part/templates/part/part_base.html:235 +#: part/serializers.py:1627 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1837 +#: part/serializers.py:1858 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1845 +#: part/serializers.py:1866 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1846 +#: part/serializers.py:1867 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1851 +#: part/serializers.py:1872 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1852 +#: part/serializers.py:1873 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1857 +#: part/serializers.py:1878 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1879 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1884 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1864 +#: part/serializers.py:1885 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1901 +#: part/serializers.py:1922 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1902 +#: part/serializers.py:1923 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1955 msgid "No part column specified" msgstr "" -#: part/serializers.py:1978 +#: part/serializers.py:1999 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1981 +#: part/serializers.py:2002 msgid "No matching part found" msgstr "" -#: part/serializers.py:1984 +#: part/serializers.py:2004 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1993 +#: part/serializers.py:2013 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2001 +#: part/serializers.py:2021 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2024 +#: part/serializers.py:2044 msgid "At least one BOM item is required" msgstr "" @@ -7932,9 +8046,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2301 users/models.py:204 +#: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" msgstr "" @@ -8174,61 +8288,65 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:690 +#: part/templates/part/part_base.html:697 msgid "Show Part Details" msgstr "" -#: part/templates/part/part_base.html:218 +#: part/templates/part/part_base.html:217 +msgid "Required for Orders" +msgstr "" + +#: part/templates/part/part_base.html:225 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" msgstr "" -#: part/templates/part/part_base.html:227 +#: part/templates/part/part_base.html:234 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:300 +#: part/templates/part/part_base.html:307 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:331 templates/js/translated/bom.js:1071 +#: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" msgstr "" -#: part/templates/part/part_base.html:361 +#: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:365 +#: part/templates/part/part_base.html:372 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:453 +#: part/templates/part/part_base.html:460 msgid "Part QR Code" msgstr "" -#: part/templates/part/part_base.html:470 +#: part/templates/part/part_base.html:477 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:527 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:537 +#: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:588 +#: part/templates/part/part_base.html:595 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:684 +#: part/templates/part/part_base.html:691 msgid "Hide Part Details" msgstr "" @@ -8288,7 +8406,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1249 templates/js/translated/part.js:2152 #: templates/js/translated/part.js:2411 templates/js/translated/stock.js:1066 -#: templates/js/translated/stock.js:2155 templates/navbar.html:31 +#: templates/js/translated/stock.js:2156 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -8330,11 +8448,11 @@ msgstr "" msgid "Edit" msgstr "" -#: part/templates/part/prices.html:28 stock/admin.py:251 +#: part/templates/part/prices.html:28 stock/admin.py:252 #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2331 +#: templates/js/translated/stock.js:2332 msgid "Last Updated" msgstr "" @@ -8498,8 +8616,8 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:371 -#: plugin/base/barcodes/api.py:546 +#: plugin/base/barcodes/api.py:125 plugin/base/barcodes/api.py:370 +#: plugin/base/barcodes/api.py:545 msgid "No match found for barcode data" msgstr "" @@ -8524,52 +8642,52 @@ msgstr "" msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:353 +#: plugin/base/barcodes/api.py:352 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:357 +#: plugin/base/barcodes/api.py:356 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:381 +#: plugin/base/barcodes/api.py:380 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:430 +#: plugin/base/barcodes/api.py:429 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:467 +#: plugin/base/barcodes/api.py:466 msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:510 +#: plugin/base/barcodes/api.py:509 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:513 +#: plugin/base/barcodes/api.py:512 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:551 plugin/base/barcodes/api.py:558 +#: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:569 +#: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:593 templates/js/translated/build.js:2780 +#: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:602 +#: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:606 +#: plugin/base/barcodes/api.py:605 msgid "Not enough information" msgstr "" @@ -8591,15 +8709,15 @@ msgstr "" msgid "Purchase order does not match supplier" msgstr "" -#: plugin/base/barcodes/mixins.py:465 +#: plugin/base/barcodes/mixins.py:467 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:496 +#: plugin/base/barcodes/mixins.py:498 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:504 +#: plugin/base/barcodes/mixins.py:506 msgid "Received purchase order line item" msgstr "" @@ -8756,7 +8874,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:164 +#: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" msgstr "" @@ -8894,7 +9012,7 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:282 +#: plugin/installer.py:194 plugin/installer.py:274 msgid "Only staff users can administer plugins" msgstr "" @@ -8902,36 +9020,36 @@ msgstr "" msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:248 +#: plugin/installer.py:241 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:254 +#: plugin/installer.py:246 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:265 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:268 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:279 +#: plugin/installer.py:271 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:299 +#: plugin/installer.py:291 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:303 +#: plugin/installer.py:295 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:316 +#: plugin/installer.py:308 msgid "Uninstalled plugin successfully" msgstr "" @@ -8943,10 +9061,6 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:43 users/models.py:100 -msgid "Key" -msgstr "" - #: plugin/models.py:44 msgid "Key of plugin" msgstr "" @@ -8994,7 +9108,7 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:270 +#: plugin/plugin.py:271 msgid "No author found" msgstr "" @@ -9091,43 +9205,43 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:161 +#: plugin/serializers.py:159 msgid "Full reload" msgstr "" -#: plugin/serializers.py:162 +#: plugin/serializers.py:160 msgid "Perform a full reload of the plugin registry" msgstr "" -#: plugin/serializers.py:168 +#: plugin/serializers.py:166 msgid "Force reload" msgstr "" -#: plugin/serializers.py:170 +#: plugin/serializers.py:168 msgid "Force a reload of the plugin registry, even if it is already loaded" msgstr "" -#: plugin/serializers.py:177 +#: plugin/serializers.py:175 msgid "Collect plugins" msgstr "" -#: plugin/serializers.py:178 +#: plugin/serializers.py:176 msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:205 +#: plugin/serializers.py:203 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:206 +#: plugin/serializers.py:204 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:226 +#: plugin/serializers.py:224 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:227 +#: plugin/serializers.py:225 msgid "Delete the plugin configuration from the database" msgstr "" @@ -9264,7 +9378,7 @@ msgstr "" msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2349 +#: report/models.py:448 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" @@ -9403,7 +9517,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2544 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 msgid "Result" msgstr "" @@ -9424,13 +9538,13 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:599 stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 +#: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 -#: templates/js/translated/stock.js:3194 +#: templates/js/translated/stock.js:3195 msgid "Serial" msgstr "" @@ -9450,7 +9564,7 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/admin.py:51 stock/admin.py:171 +#: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" msgstr "" @@ -9459,58 +9573,58 @@ msgstr "" msgid "Location Path" msgstr "" -#: stock/admin.py:148 +#: stock/admin.py:149 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:167 +#: stock/admin.py:168 msgid "Status Code" msgstr "" -#: stock/admin.py:179 +#: stock/admin.py:180 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:184 +#: stock/admin.py:185 msgid "Supplier Part SKU" msgstr "" -#: stock/admin.py:189 +#: stock/admin.py:190 msgid "Supplier ID" msgstr "" -#: stock/admin.py:200 +#: stock/admin.py:201 msgid "Customer ID" msgstr "" -#: stock/admin.py:205 stock/models.py:825 +#: stock/admin.py:206 stock/models.py:829 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" -#: stock/admin.py:210 +#: stock/admin.py:211 msgid "Build ID" msgstr "" -#: stock/admin.py:220 +#: stock/admin.py:221 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:225 +#: stock/admin.py:226 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:240 +#: stock/admin.py:241 msgid "Review Needed" msgstr "" -#: stock/admin.py:245 +#: stock/admin.py:246 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:260 stock/models.py:919 +#: stock/admin.py:261 stock/models.py:923 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2315 users/models.py:124 +#: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9526,628 +9640,628 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:367 stock/serializers.py:1186 +#: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" msgstr "" -#: stock/api.py:368 +#: stock/api.py:367 msgid "Filter by parent location" msgstr "" -#: stock/api.py:615 templates/js/translated/table_filters.js:434 +#: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" msgstr "" -#: stock/api.py:803 +#: stock/api.py:802 msgid "Part Tree" msgstr "" -#: stock/api.py:833 +#: stock/api.py:832 msgid "Expiry date before" msgstr "" -#: stock/api.py:837 +#: stock/api.py:836 msgid "Expiry date after" msgstr "" -#: stock/api.py:840 stock/serializers.py:604 +#: stock/api.py:839 stock/serializers.py:611 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" -#: stock/api.py:927 +#: stock/api.py:926 msgid "Quantity is required" msgstr "" -#: stock/api.py:933 +#: stock/api.py:932 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:964 +#: stock/api.py:963 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:974 +#: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1005 +#: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:64 +#: stock/models.py:69 msgid "Stock Location type" msgstr "" -#: stock/models.py:65 +#: stock/models.py:70 msgid "Stock Location types" msgstr "" -#: stock/models.py:91 +#: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:131 stock/models.py:807 +#: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:132 stock/templates/stock/location.html:183 +#: stock/models.py:137 stock/templates/stock/location.html:183 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:180 stock/models.py:968 +#: stock/models.py:185 stock/models.py:972 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:181 stock/models.py:969 +#: stock/models.py:186 stock/models.py:973 msgid "Select Owner" msgstr "" -#: stock/models.py:189 +#: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:196 templates/js/translated/stock.js:2865 +#: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" msgstr "" -#: stock/models.py:197 +#: stock/models.py:202 msgid "This is an external stock location" msgstr "" -#: stock/models.py:203 templates/js/translated/stock.js:2874 +#: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" msgstr "" -#: stock/models.py:207 +#: stock/models.py:212 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:279 +#: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:664 +#: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:691 stock/serializers.py:480 +#: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:708 +#: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:718 stock/models.py:731 +#: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:721 +#: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:743 +#: stock/models.py:747 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:748 +#: stock/models.py:752 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:761 +#: stock/models.py:765 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:777 +#: stock/models.py:781 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:789 +#: stock/models.py:793 msgid "Base part" msgstr "" -#: stock/models.py:799 +#: stock/models.py:803 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:811 +#: stock/models.py:815 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:819 stock/serializers.py:1580 +#: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:830 +#: stock/models.py:834 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:849 +#: stock/models.py:853 msgid "Serial number for this item" msgstr "" -#: stock/models.py:863 stock/serializers.py:1563 +#: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:868 +#: stock/models.py:872 msgid "Stock Quantity" msgstr "" -#: stock/models.py:878 +#: stock/models.py:882 msgid "Source Build" msgstr "" -#: stock/models.py:881 +#: stock/models.py:885 msgid "Build for this stock item" msgstr "" -#: stock/models.py:888 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:891 +#: stock/models.py:895 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:900 +#: stock/models.py:904 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:904 +#: stock/models.py:908 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:910 +#: stock/models.py:914 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:921 +#: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:939 +#: stock/models.py:943 msgid "Delete on deplete" msgstr "" -#: stock/models.py:940 +#: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:960 +#: stock/models.py:964 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:991 +#: stock/models.py:995 msgid "Converted to part" msgstr "" -#: stock/models.py:1511 +#: stock/models.py:1506 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1517 +#: stock/models.py:1512 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1525 +#: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1531 +#: stock/models.py:1526 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1536 +#: stock/models.py:1531 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1544 stock/serializers.py:726 +#: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1641 +#: stock/models.py:1636 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1659 +#: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1663 +#: stock/models.py:1658 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1666 +#: stock/models.py:1661 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1669 +#: stock/models.py:1664 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1672 +#: stock/models.py:1667 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1675 +#: stock/models.py:1670 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1682 stock/serializers.py:1469 +#: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1686 +#: stock/models.py:1681 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1694 +#: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1699 +#: stock/models.py:1694 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1960 +#: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2343 +#: stock/models.py:2337 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2370 msgid "Entry notes" msgstr "" -#: stock/models.py:2416 +#: stock/models.py:2410 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2443 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2448 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2459 +#: stock/models.py:2453 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2544 +#: stock/models.py:2538 msgid "Test result" msgstr "" -#: stock/models.py:2551 +#: stock/models.py:2545 msgid "Test output value" msgstr "" -#: stock/models.py:2559 +#: stock/models.py:2553 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2563 +#: stock/models.py:2557 msgid "Test notes" msgstr "" -#: stock/models.py:2571 templates/js/translated/stock.js:1633 +#: stock/models.py:2565 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2566 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2578 +#: stock/models.py:2572 msgid "Started" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2573 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2585 +#: stock/models.py:2579 msgid "Finished" msgstr "" -#: stock/models.py:2586 +#: stock/models.py:2580 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:77 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:85 +#: stock/serializers.py:86 msgid "Select build order" msgstr "" -#: stock/serializers.py:94 +#: stock/serializers.py:95 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:103 +#: stock/serializers.py:104 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:112 +#: stock/serializers.py:113 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:121 +#: stock/serializers.py:122 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:128 +#: stock/serializers.py:129 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:152 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:160 +#: stock/serializers.py:161 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:168 +#: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:233 +#: stock/serializers.py:234 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:258 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:286 +#: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:327 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:452 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 msgid "Parent Item" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:460 msgid "Parent stock item" msgstr "" -#: stock/serializers.py:472 +#: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:596 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" -#: stock/serializers.py:602 stock/templates/stock/stock_sidebar.html:20 +#: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" msgstr "" -#: stock/serializers.py:606 +#: stock/serializers.py:613 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:612 +#: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:631 +#: stock/serializers.py:638 msgid "Minimum Pricing" msgstr "" -#: stock/serializers.py:637 +#: stock/serializers.py:644 msgid "Maximum Pricing" msgstr "" -#: stock/serializers.py:661 +#: stock/serializers.py:668 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:674 +#: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:688 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:692 stock/serializers.py:1426 stock/serializers.py:1682 +#: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:699 +#: stock/serializers.py:706 msgid "Optional note field" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:764 +#: stock/serializers.py:771 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:771 +#: stock/serializers.py:778 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:772 +#: stock/serializers.py:779 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:777 stock/serializers.py:857 stock/serializers.py:983 -#: stock/serializers.py:1033 +#: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 +#: stock/serializers.py:1040 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:785 +#: stock/serializers.py:792 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:793 +#: stock/serializers.py:800 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:804 +#: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:817 +#: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:852 +#: stock/serializers.py:859 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:903 +#: stock/serializers.py:910 msgid "Unsupported statistic type: " msgstr "" -#: stock/serializers.py:917 +#: stock/serializers.py:924 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:930 +#: stock/serializers.py:937 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:954 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:978 +#: stock/serializers.py:985 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1022 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1021 +#: stock/serializers.py:1028 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1117 stock/serializers.py:1194 +#: stock/serializers.py:1124 stock/serializers.py:1201 #: stock/templates/stock/location.html:162 #: stock/templates/stock/location.html:219 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1187 templates/js/translated/stock.js:160 +#: stock/serializers.py:1194 templates/js/translated/stock.js:160 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1298 +#: stock/serializers.py:1305 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1302 +#: stock/serializers.py:1309 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1306 +#: stock/serializers.py:1313 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1330 +#: stock/serializers.py:1337 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1336 +#: stock/serializers.py:1343 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1344 +#: stock/serializers.py:1351 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1354 stock/serializers.py:1608 +#: stock/serializers.py:1361 stock/serializers.py:1615 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1433 +#: stock/serializers.py:1440 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1438 +#: stock/serializers.py:1445 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1439 +#: stock/serializers.py:1446 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1444 +#: stock/serializers.py:1451 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1445 +#: stock/serializers.py:1452 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1455 +#: stock/serializers.py:1462 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1522 +#: stock/serializers.py:1529 msgid "No Change" msgstr "" -#: stock/serializers.py:1551 +#: stock/serializers.py:1558 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1570 +#: stock/serializers.py:1577 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1605 msgid "Stock transaction notes" msgstr "" @@ -10175,107 +10289,107 @@ msgstr "" msgid "Quarantined" msgstr "" -#: stock/status_codes.py:40 +#: stock/status_codes.py:44 msgid "Legacy stock tracking entry" msgstr "" -#: stock/status_codes.py:42 templates/js/translated/stock.js:550 +#: stock/status_codes.py:46 templates/js/translated/stock.js:550 msgid "Stock item created" msgstr "" -#: stock/status_codes.py:45 +#: stock/status_codes.py:49 msgid "Edited stock item" msgstr "" -#: stock/status_codes.py:46 +#: stock/status_codes.py:50 msgid "Assigned serial number" msgstr "" -#: stock/status_codes.py:49 +#: stock/status_codes.py:53 msgid "Stock counted" msgstr "" -#: stock/status_codes.py:50 +#: stock/status_codes.py:54 msgid "Stock manually added" msgstr "" -#: stock/status_codes.py:51 +#: stock/status_codes.py:55 msgid "Stock manually removed" msgstr "" -#: stock/status_codes.py:54 +#: stock/status_codes.py:58 msgid "Location changed" msgstr "" -#: stock/status_codes.py:55 +#: stock/status_codes.py:59 msgid "Stock updated" msgstr "" -#: stock/status_codes.py:58 +#: stock/status_codes.py:62 msgid "Installed into assembly" msgstr "" -#: stock/status_codes.py:59 +#: stock/status_codes.py:63 msgid "Removed from assembly" msgstr "" -#: stock/status_codes.py:61 +#: stock/status_codes.py:65 msgid "Installed component item" msgstr "" -#: stock/status_codes.py:62 +#: stock/status_codes.py:66 msgid "Removed component item" msgstr "" -#: stock/status_codes.py:65 +#: stock/status_codes.py:69 msgid "Split from parent item" msgstr "" -#: stock/status_codes.py:66 +#: stock/status_codes.py:70 msgid "Split child item" msgstr "" -#: stock/status_codes.py:69 templates/js/translated/stock.js:1943 +#: stock/status_codes.py:73 templates/js/translated/stock.js:1944 msgid "Merged stock items" msgstr "" -#: stock/status_codes.py:72 +#: stock/status_codes.py:76 msgid "Converted to variant" msgstr "" -#: stock/status_codes.py:75 +#: stock/status_codes.py:79 msgid "Build order output created" msgstr "" -#: stock/status_codes.py:76 +#: stock/status_codes.py:80 msgid "Build order output completed" msgstr "" -#: stock/status_codes.py:77 +#: stock/status_codes.py:81 msgid "Build order output rejected" msgstr "" -#: stock/status_codes.py:78 templates/js/translated/stock.js:1849 +#: stock/status_codes.py:82 templates/js/translated/stock.js:1849 msgid "Consumed by build order" msgstr "" -#: stock/status_codes.py:81 +#: stock/status_codes.py:85 msgid "Shipped against Sales Order" msgstr "" -#: stock/status_codes.py:84 +#: stock/status_codes.py:88 msgid "Received against Purchase Order" msgstr "" -#: stock/status_codes.py:87 +#: stock/status_codes.py:91 msgid "Returned against Return Order" msgstr "" -#: stock/status_codes.py:90 templates/js/translated/table_filters.js:382 +#: stock/status_codes.py:94 templates/js/translated/table_filters.js:382 msgid "Sent to customer" msgstr "" -#: stock/status_codes.py:91 +#: stock/status_codes.py:95 msgid "Returned from customer" msgstr "" @@ -10316,7 +10430,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3354 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3355 msgid "Install Stock Item" msgstr "" @@ -10371,7 +10485,7 @@ msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1972 +#: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" @@ -10412,7 +10526,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2295 templates/navbar.html:38 +#: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" @@ -10470,7 +10584,7 @@ msgid "Navigate to next serial number" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2552 +#: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" @@ -10497,7 +10611,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:504 -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" @@ -10606,7 +10720,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:298 -#: templates/js/translated/stock.js:2657 +#: templates/js/translated/stock.js:2658 msgid "stock location" msgstr "" @@ -11109,7 +11223,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:548 templates/js/translated/helpers.js:108 #: templates/js/translated/part.js:395 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:252 users/models.py:406 +#: templates/js/translated/stock.js:252 users/models.py:407 msgid "Delete" msgstr "" @@ -11130,7 +11244,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2403 msgid "group" msgstr "" @@ -11787,7 +11901,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2747 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2750 msgid "Required Quantity" msgstr "" @@ -12156,7 +12270,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2673 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" msgstr "" @@ -12176,30 +12290,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2812 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2786 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2790 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2792 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2794 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2777 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" msgstr "" @@ -12231,7 +12345,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2658 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" msgstr "" @@ -12243,396 +12357,396 @@ msgstr "" msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:191 +#: templates/js/translated/build.js:194 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:223 +#: templates/js/translated/build.js:226 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:232 +#: templates/js/translated/build.js:235 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:238 +#: templates/js/translated/build.js:241 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:245 +#: templates/js/translated/build.js:248 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:297 +#: templates/js/translated/build.js:300 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:305 +#: templates/js/translated/build.js:308 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:310 +#: templates/js/translated/build.js:313 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:328 +#: templates/js/translated/build.js:331 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:369 templates/js/translated/stock.js:127 +#: templates/js/translated/build.js:372 templates/js/translated/stock.js:127 #: templates/js/translated/stock.js:301 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:371 templates/js/translated/stock.js:129 +#: templates/js/translated/build.js:374 templates/js/translated/stock.js:129 #: templates/js/translated/stock.js:303 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:380 +#: templates/js/translated/build.js:383 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:381 +#: templates/js/translated/build.js:384 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:389 +#: templates/js/translated/build.js:392 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:390 +#: templates/js/translated/build.js:393 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:397 +#: templates/js/translated/build.js:400 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:428 +#: templates/js/translated/build.js:431 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:436 +#: templates/js/translated/build.js:439 msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:445 +#: templates/js/translated/build.js:448 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:453 +#: templates/js/translated/build.js:456 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:460 +#: templates/js/translated/build.js:463 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:480 +#: templates/js/translated/build.js:483 msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:498 +#: templates/js/translated/build.js:501 msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:584 templates/js/translated/build.js:711 -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:587 templates/js/translated/build.js:714 +#: templates/js/translated/build.js:839 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:712 -#: templates/js/translated/build.js:837 +#: templates/js/translated/build.js:588 templates/js/translated/build.js:715 +#: templates/js/translated/build.js:840 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:599 +#: templates/js/translated/build.js:602 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:603 templates/js/translated/build.js:736 -#: templates/js/translated/build.js:859 +#: templates/js/translated/build.js:606 templates/js/translated/build.js:739 +#: templates/js/translated/build.js:862 msgid "Output" msgstr "" -#: templates/js/translated/build.js:630 +#: templates/js/translated/build.js:633 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:727 +#: templates/js/translated/build.js:730 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:729 +#: templates/js/translated/build.js:732 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:730 +#: templates/js/translated/build.js:733 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:731 +#: templates/js/translated/build.js:734 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:761 +#: templates/js/translated/build.js:764 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:851 +#: templates/js/translated/build.js:854 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:853 +#: templates/js/translated/build.js:856 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:857 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:872 +#: templates/js/translated/build.js:875 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:959 +#: templates/js/translated/build.js:962 msgid "Delete allocations" msgstr "" -#: templates/js/translated/build.js:966 +#: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:992 msgid "No allocated stock" msgstr "" -#: templates/js/translated/build.js:1045 +#: templates/js/translated/build.js:1048 msgid "Stock item" msgstr "" -#: templates/js/translated/build.js:1070 +#: templates/js/translated/build.js:1073 msgid "Edit build allocation" msgstr "" -#: templates/js/translated/build.js:1071 +#: templates/js/translated/build.js:1074 msgid "Delete build allocation" msgstr "" -#: templates/js/translated/build.js:1089 +#: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" msgstr "" -#: templates/js/translated/build.js:1102 +#: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" msgstr "" -#: templates/js/translated/build.js:1133 +#: templates/js/translated/build.js:1136 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:1178 +#: templates/js/translated/build.js:1181 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1200 +#: templates/js/translated/build.js:1203 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1218 +#: templates/js/translated/build.js:1221 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1239 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1289 +#: templates/js/translated/build.js:1292 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1290 +#: templates/js/translated/build.js:1293 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1294 +#: templates/js/translated/build.js:1297 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1470 +#: templates/js/translated/build.js:1473 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1563 +#: templates/js/translated/build.js:1566 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1577 +#: templates/js/translated/build.js:1580 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1749 +#: templates/js/translated/build.js:1752 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1750 +#: templates/js/translated/build.js:1753 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1813 +#: templates/js/translated/build.js:1816 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1890 +#: templates/js/translated/build.js:1893 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1891 +#: templates/js/translated/build.js:1894 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1905 +#: templates/js/translated/build.js:1908 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1933 +#: templates/js/translated/build.js:1936 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1944 +#: templates/js/translated/build.js:1947 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2017 +#: templates/js/translated/build.js:2020 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2114 +#: templates/js/translated/build.js:2117 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2115 +#: templates/js/translated/build.js:2118 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2120 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2118 +#: templates/js/translated/build.js:2121 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2119 +#: templates/js/translated/build.js:2122 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2149 +#: templates/js/translated/build.js:2152 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2254 +#: templates/js/translated/build.js:2257 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2289 templates/js/translated/build.js:2652 +#: templates/js/translated/build.js:2292 templates/js/translated/build.js:2655 #: templates/js/translated/forms.js:2196 templates/js/translated/forms.js:2212 #: templates/js/translated/part.js:2322 templates/js/translated/part.js:2761 -#: templates/js/translated/stock.js:2068 templates/js/translated/stock.js:2795 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2796 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2303 +#: templates/js/translated/build.js:2306 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2385 templates/js/translated/stock.js:3126 +#: templates/js/translated/build.js:2388 templates/js/translated/stock.js:3127 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2564 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2565 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2577 +#: templates/js/translated/build.js:2580 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2589 +#: templates/js/translated/build.js:2592 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2628 +#: templates/js/translated/build.js:2631 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2629 +#: templates/js/translated/build.js:2632 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2650 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2677 templates/js/translated/part.js:793 +#: templates/js/translated/build.js:2680 templates/js/translated/part.js:793 #: templates/js/translated/part.js:1209 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2720 +#: templates/js/translated/build.js:2723 msgid "Gets Inherited" msgstr "" -#: templates/js/translated/build.js:2730 +#: templates/js/translated/build.js:2733 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2782 +#: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2837 +#: templates/js/translated/build.js:2840 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2844 +#: templates/js/translated/build.js:2847 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2845 +#: templates/js/translated/build.js:2848 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2853 +#: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2858 templates/js/translated/stock.js:1953 +#: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2862 +#: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2866 +#: templates/js/translated/build.js:2869 msgid "Remove stock allocation" msgstr "" @@ -13419,7 +13533,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "Display as list" msgstr "" @@ -13431,7 +13545,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2774 +#: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" msgstr "" @@ -14284,7 +14398,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1049 users/models.py:396 +#: templates/js/translated/stock.js:1049 users/models.py:397 msgid "Add" msgstr "" @@ -14308,7 +14422,7 @@ msgstr "" msgid "Adjust packaging" msgstr "" -#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3382 +#: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" msgstr "" @@ -14388,216 +14502,216 @@ msgstr "" msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1927 +#: templates/js/translated/stock.js:1928 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1936 +#: templates/js/translated/stock.js:1937 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1985 +#: templates/js/translated/stock.js:1986 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2039 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2044 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2055 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2099 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2177 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2181 +#: templates/js/translated/stock.js:2182 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2184 +#: templates/js/translated/stock.js:2185 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2187 +#: templates/js/translated/stock.js:2188 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:2190 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2191 +#: templates/js/translated/stock.js:2192 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2194 +#: templates/js/translated/stock.js:2195 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2196 +#: templates/js/translated/stock.js:2197 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2201 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2202 +#: templates/js/translated/stock.js:2203 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2207 +#: templates/js/translated/stock.js:2208 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2209 +#: templates/js/translated/stock.js:2210 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2211 +#: templates/js/translated/stock.js:2212 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2215 +#: templates/js/translated/stock.js:2216 #: templates/js/translated/table_filters.js:357 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2380 +#: templates/js/translated/stock.js:2381 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2555 +#: templates/js/translated/stock.js:2556 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2658 +#: templates/js/translated/stock.js:2659 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2814 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2930 +#: templates/js/translated/stock.js:2931 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2934 +#: templates/js/translated/stock.js:2935 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2946 +#: templates/js/translated/stock.js:2947 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/stock.js:2969 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:2986 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3000 +#: templates/js/translated/stock.js:3001 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3017 +#: templates/js/translated/stock.js:3018 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3034 +#: templates/js/translated/stock.js:3035 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:3053 +#: templates/js/translated/stock.js:3054 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:3071 +#: templates/js/translated/stock.js:3072 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3089 +#: templates/js/translated/stock.js:3090 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3097 +#: templates/js/translated/stock.js:3098 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3170 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3223 templates/js/translated/stock.js:3259 +#: templates/js/translated/stock.js:3224 templates/js/translated/stock.js:3260 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3280 +#: templates/js/translated/stock.js:3281 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3301 +#: templates/js/translated/stock.js:3302 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:3303 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3304 +#: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3305 +#: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3306 +#: templates/js/translated/stock.js:3307 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3307 +#: templates/js/translated/stock.js:3308 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3321 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3383 +#: templates/js/translated/stock.js:3384 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3396 +#: templates/js/translated/stock.js:3397 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3400 +#: templates/js/translated/stock.js:3401 msgid "Change Stock Status" msgstr "" -#: templates/js/translated/stock.js:3477 +#: templates/js/translated/stock.js:3478 msgid "This week" msgstr "" -#: templates/js/translated/stock.js:3485 +#: templates/js/translated/stock.js:3486 msgid "This month" msgstr "" @@ -15141,27 +15255,27 @@ msgstr "" msgid "No" msgstr "" -#: users/admin.py:104 +#: users/admin.py:101 msgid "Users" msgstr "" -#: users/admin.py:105 +#: users/admin.py:102 msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:249 +#: users/admin.py:246 msgid "The following users are members of multiple groups" msgstr "" -#: users/admin.py:283 +#: users/admin.py:280 msgid "Personal info" msgstr "" -#: users/admin.py:285 +#: users/admin.py:282 msgid "Permissions" msgstr "" -#: users/admin.py:288 +#: users/admin.py:285 msgid "Important dates" msgstr "" @@ -15205,35 +15319,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:379 +#: users/models.py:380 msgid "Permission set" msgstr "" -#: users/models.py:388 +#: users/models.py:389 msgid "Group" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "View" msgstr "" -#: users/models.py:392 +#: users/models.py:393 msgid "Permission to view items" msgstr "" -#: users/models.py:396 +#: users/models.py:397 msgid "Permission to add items" msgstr "" -#: users/models.py:400 +#: users/models.py:401 msgid "Change" msgstr "" -#: users/models.py:402 +#: users/models.py:403 msgid "Permissions to edit items" msgstr "" -#: users/models.py:408 +#: users/models.py:409 msgid "Permission to delete items" msgstr "" diff --git a/src/frontend/src/locales/ar/messages.po b/src/frontend/src/locales/ar/messages.po index 4dc3d0f514..f35441b607 100644 --- a/src/frontend/src/locales/ar/messages.po +++ b/src/frontend/src/locales/ar/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: ar\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:49\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: ar\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index d1e93ca8f6..c560dd3f9e 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: bg\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:49\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: bg\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index a8ebd5f7b5..20450ef5dd 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: cs\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:49\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: cs\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Tisk štítků byl úspěšně dokončen" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Chyba" @@ -107,6 +107,10 @@ msgstr "Tisk štítků" msgid "Print Reports" msgstr "Tisk reportu" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Naskenovat QR kód" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Odstranit přidružený obrázek z této položky?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Odstranit" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Zrušit" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Vymazat" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Chyba formuláře" @@ -403,19 +407,19 @@ msgstr "Chyba formuláře" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Aktualizovat" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Server" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Načítání" msgid "No results found" msgstr "Nebyly nalezeny žádné výsledky" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "Položka modelRenderer je požadovaná pro tabulky" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "Nejsou žádné záznamy" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Akce čárového kódu" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Zobrazit" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Zobrazit čárový kód" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Přiřadit čárový kód" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Přiřadit vlatní čárový kód" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Odstranit čárový kód" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Odstranit vlastní čárový kód" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Upravit" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Smazat položku" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Duplikovat" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Duplikovat produkt" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Zjistit více" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Neznámá chyba" @@ -965,30 +986,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "Tento panel je zástupným znakem." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Informace o verzi" @@ -1091,56 +1132,15 @@ msgstr "Nepodařilo se načíst licenční informace" msgid "{key} Packages" msgstr "{key} balíčky" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Neznámá odpověď" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Chyba při spouštění kamery" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Chyba při skenování" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Skenování" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Není skenováno" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Začít skenovat" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Zastavit skenování" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Centrum správce" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Stránky" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Pluginy" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "Díl" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Díly" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "Skladová položka" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Skladové položky" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "Umístění skladu" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "Firmy" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "Kód projektu" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Kódy projektu" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "Adresy" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Kontakt" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Uživatel" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Uživatelé" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Neaktivní" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Zásoby" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Sériové číslo" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "Demo" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Nákup" @@ -2517,9 +2529,9 @@ msgstr "Nákup" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Prodej" @@ -2610,6 +2622,11 @@ msgstr "Licence" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Skenování" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "Nadřazená kategorie" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "Zvolte umístění" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "Cíl položky byl vybrán" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "Nastavit umístění" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Lokace" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Stav" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Akce" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "Na skladě" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "Přesunout" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Přidat" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "Počet" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Nic nevybráno" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "Vstup" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "Historie" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Žádná historie" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Položka" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Typ" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Zdroj" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Chyba při spouštění kamery" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Chyba při skenování" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Zastavit skenování" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Začít skenovat" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Není skenováno" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "Vlastní jednotky" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "Parametry dílu" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "Parametry kategorie" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Stroje" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "Rychlá volba" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "Přidat nového uživatele" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "Pokročilá nastavení" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "Označit jako nepřečtenou" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "Reference" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "Reference" msgid "Description" msgstr "Popis" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 16bf2f54c0..cbed7a4b93 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: da\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:49\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: da\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index 0959615a60..35f8eaa7ec 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: de\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:49\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: de\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Etikettendruck erfolgreich abgeschlossen" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Fehler" @@ -107,6 +107,10 @@ msgstr "Etiketten drucken" msgid "Print Reports" msgstr "Berichte drucken" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "Diese Zeile entfernen" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "QR-Code scannen" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Verknüpftes Bild von diesem Teil entfernen?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Entfernen" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Abbrechen" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Leeren" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "Ein Serverfehler ist aufgetreten" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Formularfehler" @@ -403,19 +407,19 @@ msgstr "Formularfehler" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "Fehler für ein oder mehrere Formularfelder vorhanden" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Aktualisieren" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Adresse" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Wird geladen" msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "modelRenderer Eintrag für Tabellen erforderlich" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "Keine Einträge vorhanden" @@ -863,72 +867,89 @@ msgstr "Importiere Datensätze" msgid "Imported rows" msgstr "Importierte Zeilen" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Barcode-Aktionen" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "Barcode anzeigen" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Anzeigen" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Barcode anzeigen" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Link-Barcode" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Benutzerdefinierter Barcode verknüpfen" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Verknüpfung des Barcodes aufheben" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Verknüpfung von benutzerdefiniertem Barcode aufheben" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Bearbeiten" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Element löschen" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "Angehalten" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Duplizieren" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Artikel duplizieren" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "Barcode" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Mehr lesen" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Unbekannter Fehler" @@ -965,30 +986,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "Dieses Panel ist ein Platzhalter." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "Niedrig (7%)" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "Mittel (15%)" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "Viertel (25%)" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "Hoch (30%)" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "Barcode-Daten:" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "Fehlerkorrektur-Level auswählen" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Link" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Versionsinformationen" @@ -1091,56 +1132,15 @@ msgstr "Fehler beim Abrufen der Lizenzinformationen" msgid "{key} Packages" msgstr "{key} Pakete" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Unbekannte Antwort" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Fehler beim Laden der Kamera" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Fehler beim Scannen" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Fehler beim Anhalten" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Scannen" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Es wird nicht gescannt" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Kamera auswählen" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Scan starten" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Scan stoppen" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Noch keine Scans!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Dialog schließen" @@ -1262,12 +1262,12 @@ msgstr "Einstellungen" #: src/components/nav/MainMenu.tsx:77 msgid "Change Color Mode" -msgstr "" +msgstr "Farbmodus ändern" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Adminbereich" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Seiten" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1326,11 +1326,11 @@ msgstr "Benachrichtigungen" #: src/components/nav/NotificationDrawer.tsx:94 msgid "Mark all as read" -msgstr "" +msgstr "Alle als gelesen markieren" #: src/components/nav/NotificationDrawer.tsx:104 msgid "View all notifications" -msgstr "" +msgstr "Alle Benachrichtigungen anzeigen" #: src/components/nav/NotificationDrawer.tsx:123 msgid "You have no unread notifications." @@ -1379,23 +1379,25 @@ msgstr "Keine Ergebnisse" msgid "No results available for search query" msgstr "Keine Ergebnisse für Suchanfrage verfügbar" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Unbekanntes Modell: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "Teil" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Teile" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "Testvorlagen für Teil" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "Teilkategorie" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Teil-Kategorien" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "Lagerartikel" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Lagerartikel" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "Lagerort" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Lagerorte" @@ -1547,7 +1550,7 @@ msgstr "Unternehmen" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "Projekt-Code" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Projektnummern" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "Einkaufsbestellung" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Nachbestellungen" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "Bestellpositionen" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "Verkaufsauftrag" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Aufträge" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "Versand der Bestellungen" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Rückgabe Auftrag" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "Adressen" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Kontakt" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Nutzer" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Benutzer" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "Plugin-Konfiguration" msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "Sendung" @@ -1725,8 +1736,8 @@ msgstr "Sendung" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Inaktiv" @@ -1740,30 +1751,31 @@ msgstr "Kein Bestand" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Lager" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Seriennummer" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "Demo" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Einkauf" @@ -2517,9 +2529,9 @@ msgstr "Einkauf" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Verkäufe" @@ -2610,6 +2622,11 @@ msgstr "Lizenzen" msgid "User attributes and design settings." msgstr "Benutzerattribute und Designeinstellungen." +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Scannen" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "Ansicht für interaktives Scannen und mehrere Aktionen." #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "Nächste Seriennummer" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "Letzte Seriennummer" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "Ausgabe entfernen" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "Bauprodukt fertigstellen" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "Bauprodukte wurden fertiggestellt" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "Bauprodukte verschrotten" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "Bauprodukte wurden verschrottet" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "Bauprodukte abbrechen" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "Ausgewählte Bauprodukte werden gelöscht" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "Bauprodukte wurden abgebrochen" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "Zugewiesen" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "Zeile entfernen" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "Quell Lagerort" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "Bestand zuweisen" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "Übergeordnete Teilkategorie" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "Lagerort wählen" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "Teile-Zielort ausgewählt" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "Standard-Lagerort der Teile-Kategorie ausgewählt" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "Lagerort zuvor empfangener Artikel ausgewählt" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "Standard-Lagerort ausgewählt" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "Barcode scannen" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "Lagerort festlegen" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "Batch-Code{0} zuweisen" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "Status ändern" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "Notiz hinzufügen" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "Artikel aus Liste entfernen" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Lagerort" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "Am Standard-Lagerort einbuchen" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "Am Zielort der Bauauftragsposition speichern" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "Bei bereits vorhandenen Lagerbestand einbuchen" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "Losnummer" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "Seriennummern" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "Verpackung" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "Notiz" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "SKU" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "Erhalten" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Aktionen" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "Positionen empfangen" @@ -2919,7 +2968,7 @@ msgstr "Positionen empfangen" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "Angegebene Menge als Packungen anstatt einzelner Artikel hinzufügen" @@ -2927,98 +2976,103 @@ msgstr "Angegebene Menge als Packungen anstatt einzelner Artikel hinzufügen" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "Ausgangsmenge für diesen Lagerartikel eingeben" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "Seriennummern" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "Lagerbestand Status" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "Lagerartikel hinzufügen" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "Lade..." -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "Zum Standard-Lagerort verschieben" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "Auf Lager" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "Verschieben" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Hinzufügen" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "Anzahl" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "Bestand entfernen" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "Bestand zählen" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "Bestandsstatus ändern" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "Bestand zusammenführen" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "Bestand löschen" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "Prüfe ob Sie bereits angemeldet sind" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Keine Auswahl" @@ -3365,115 +3419,147 @@ msgstr "Manuelle Eingabe" msgid "Image Barcode" msgstr "Bild Barcode" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "Ausgewählte Elemente sind nicht bekannt" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "Mehrere Objekttypen ausgewählt" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "Aktionen für {0}" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "Seite scannen" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "Diese Seite kann benutzt werden, um kontinuierlich Artikel zu scannen und Aktionen durchzuführen." -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "Vollbild umschalten" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "Wählen Sie die Eingabemethode, die Sie verwenden möchten, um Elemente zu scannen." -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "Eingabe" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "Eingabemethode auswählen" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "Nichts gefunden" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "Abhängig von den ausgewählten Bauteilen werden hier Aktionen angezeigt. Derzeit werden nicht alle Barcode-Typen unterstützt." -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "Aktion" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "{0} Element(e) ausgewählt" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "Allgemeine Aktionen" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "Teil suchen" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "Link öffnen" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "Die Historie wird lokal in diesem Browser gespeichert." -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "Der Verlauf wird im lokalen Speicher dieses Browsers gespeichert. Er wird also nicht mit anderen Benutzern oder anderen Geräten geteilt, aber bleibt beim neuladen bestehen. Sie können Elemente in der Historie auswählen, um Aktionen auszuführen. Um Elemente hinzuzufügen, scanne sie/gebe sie im Eingabebereich ein." -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "Verlauf" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "Historie löschen" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Historial vacío" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Artikel" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Typ" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Quelle" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Gescannt um" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "Seriennummer oder Daten des Artikels eingeben" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "Dummy Element hinzufügen" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Fehler beim Laden der Kamera" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Fehler beim Scannen" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Fehler beim Anhalten" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Scan stoppen" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Scan starten" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Es wird nicht gescannt" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Kamera auswählen" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "Kontodetails" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "Keine Token konfiguriert" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "Lader" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "Währung" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "Bewerten" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "Wechselkurse aktualisiert" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "Fehler beim Aktualisieren des Wechselkurses" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "Wechselkurse aktualisieren" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "Letzter Abruf" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "Basiswährung" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "Hintergrundprozesse" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "Fehlerberichte" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "Währungen" @@ -3693,41 +3808,45 @@ msgstr "Währungen" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "Kundenspezifische Einheiten" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "Teile Parameter" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "Kategorie Parameter" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Maschinen" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "Schnell-Auswahl" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "Neuen Benutzer hinzufügen" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "Erweiterte Optionen" @@ -3772,26 +3891,26 @@ msgstr "Plugin-Fehler" msgid "Plugin Settings" msgstr "Plugin Einstellungen" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "Hintergrundprozesse laufen nicht" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "Der Hintergrund Taskmanager Service läuft nicht. Kontaktiere den Systemadministrator." -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "Anstehende Aufgaben" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "Geplante Aufgaben" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "Fehlgeschlagene Aufgaben" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "Berichte" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "Inventur" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Bauaufträge" @@ -3942,41 +4061,41 @@ msgstr "Als ungelesen markieren" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "IPN" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "Referenz" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,51 +4109,45 @@ msgstr "Referenz" msgid "Description" msgstr "Beschreibung" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "Übergeordneter Bauauftrag" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "Bauauftrag Anzahl" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "Aufgegeben von" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "Verantwortlich" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "Erstellt" -#: src/pages/build/BuildDetail.tsx:185 -#: src/pages/part/PartDetail.tsx:269 -#: src/pages/stock/StockDetail.tsx:150 -#~ msgid "View part barcode" -#~ msgstr "View part barcode" - -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 #: src/tables/ColumnRenderers.tsx:212 #: src/tables/part/PartPurchaseOrdersTable.tsx:99 #: src/tables/sales/ReturnOrderLineItemTable.tsx:110 @@ -4042,33 +4155,35 @@ msgstr "Erstellt" msgid "Target Date" msgstr "Zieldatum" +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "Abgeschlossen" + #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "Abgeschlossen" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "Quell Lagerort" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "Beliebiger Lagerort" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "Ziel Lagerort" @@ -4084,70 +4199,70 @@ msgstr "Ziel Lagerort" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "Bauauftrag Details" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "Positionen" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "Unvollständige Endprodukte" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "Verbrauchte Bestände" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "Unter-Bauaufträge" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "Testergebnisse" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "Anhänge" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Notizen" @@ -4156,134 +4271,134 @@ msgstr "Notizen" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "Bauauftrag bearbeiten" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "Bauauftrag bearbeiten" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "Neuer Bauauftrag" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "Bauauftrag abbrechen" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "Bauauftrag-Aktionen" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "Bestellung stornieren" @@ -4309,10 +4424,10 @@ msgstr "Standardwährung" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "Lieferant" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Hersteller" @@ -4332,9 +4447,9 @@ msgstr "Hersteller" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4374,25 +4489,25 @@ msgstr "Unternehmen bearbeiten" #: src/pages/company/CompanyDetail.tsx:298 msgid "Delete Company" -msgstr "" +msgstr "Firma löschen" #: src/pages/company/CompanyDetail.tsx:306 msgid "Company Actions" msgstr "Firmen-Aktionen" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "Internes Teil" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "Externer Link" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "Teilenummer des Herstellers" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "Herstellerteil Details" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "Parameter" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "Lieferanten" @@ -4440,7 +4555,7 @@ msgstr "Herstellerteil Aktionen" msgid "ManufacturerPart" msgstr "Herstellerteil" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "Herstellerteil" msgid "Pack Quantity" msgstr "Verpackungsmenge" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "Lieferantenverfügbarkeit" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "Verfügbarkeit" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "Zuliefererteil Details" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "Empfangene Lagerartikel" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "Zulieferer-Preise" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "Zuliefererteil Aktionen" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "Zuliefererteil entfernen" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Zuliefererteil hinzufügen" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "Pfad" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "Unterkategorien" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "Teilekategorie bearbeiten" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "Elemente löschen" @@ -4573,7 +4688,7 @@ msgstr "Variante von" #: src/pages/part/PartDetail.tsx:170 msgid "Revision of" -msgstr "" +msgstr "Revision von" #: src/pages/part/PartDetail.tsx:177 #: src/tables/stock/StockItemTable.tsx:58 @@ -4604,16 +4719,9 @@ msgstr "Einheiten" msgid "Keywords" msgstr "Schlüsselwörter" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Link" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "Minimaler Bestand" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "Bestellt" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "Bauaufträgen zugeordnet" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "Aufträgen zugeordnet" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "Herstellbar" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" -msgstr "Gebäude" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" +msgstr "In Produktion" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "Gesperrt" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "Vorlagenteil" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" +msgstr "Vorlagenteil" + +#: src/pages/part/PartDetail.tsx:320 #: src/tables/bom/BomTable.tsx:315 msgid "Assembled Part" msgstr "Baugruppe" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" -msgstr "Komponente" - #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" -msgstr "" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" +msgstr "Komponente" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "Nachverfolgbares Teil" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "Käufliches Teil" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "Verkäufliches Teil" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "Virtuelles Teil" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "Erstelldatum" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "Erstellt von" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Preisspanne" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "Inventur durch" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "Teil-Details" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "Varianten" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "Ferienguthaben/Freitage" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "Bauauftragszuweisungen" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "Verkaufsauftragszuweisungen" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "Stückliste" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "Verwendet in" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "Teilbepreisung" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "Hersteller" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "Terminierung" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "Testvorlagen" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "Zugehörige Teile" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "Verfügbar" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "Kein Bestand" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "Erforderlich" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "In Bestellung" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "In Produktion" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "Teil bearbeiten" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "Teil hinzufügen" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "Teil löschen" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "Lager-Aktionen" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "Bestand zählen" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "Bestand übertragen" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "Teile-Aktionen" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "Gesamt Preise" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -5047,7 +5160,7 @@ msgstr "Lade Preisdaten" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Datum" @@ -5075,23 +5188,23 @@ msgstr "Lieferant Preis" msgid "Variant Part" msgstr "Variantenteil" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "Bestellung bearbeiten" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "Bestellung hinzufügen" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "Lieferanten-Referenz" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "Abgeschlossene Positionen" @@ -5101,91 +5214,91 @@ msgstr "Abgeschlossene Positionen" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "Bestellwährung" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "Gesamtkosten" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "Erstellt am" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "Bestelldetails" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "Bestellaktionen" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "Kundenreferenz" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "Rücksendeauftrag bearbeiten" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "Neuer Rücksendeauftrag" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "Kunden" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "Abgeschlossene Sendungen" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "Auftrag bearbeiten" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "Auftrag hinzufügen" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "Bestellung versenden" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "Übergeordneter Lagerort" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "Extern" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "Lagerort Typ" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "Oberster Lagerort" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "Lagerort-Details" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "Standardteile" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "Lagerort bearbeiten" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "Lagerort löschen" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "Bestandsaktionen" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "Aktion für Lagerartikel an diesem Lagerort" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "Aktion für untergeordnete Lagerorte" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "Aktion für untergeordnete Lagerorte an diesem Lagerort" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "Lagerort Aktionen" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Basisteil" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "Lagerbestand Status" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "Lagerbestand Status" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "Verbaut in" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "Verbraucht von" @@ -5324,7 +5433,7 @@ msgstr "Verbraucht von" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "Bauauftrag" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "Lagerdetails" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "Bestandsverfolgung" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "Test Daten" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "Installierte Elemente" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "Untergeordnete Objekte" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "Lagerartikel bearbeiten" @@ -5362,38 +5471,38 @@ msgstr "Lagerartikel bearbeiten" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "Lagerartikel löschen" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "Lagervorgänge" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "Bestand zählen" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "Lagerbestand hinzufügen" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "Lagerbestand entfernen" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "Verschieben" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "Lagerbestand verschieben" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "Lagerartikel Aktionen" @@ -5414,11 +5523,6 @@ msgstr "Kein Lagerort gesetzt" msgid "Shipment Date" msgstr "Versanddatum" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "Währung" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "Daten herunterladen" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "Mir zugewiesen" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "Mir zugewiesene Aufträge anzeigen" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "Offene Aufträge anzeigen" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "Überfällig" @@ -5483,60 +5587,60 @@ msgstr "Überfällige Aufträge anzeigen" msgid "Remove filter" msgstr "Filter entfernen" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Filter auswählen" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Wert" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Filterwert auswählen" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "Tabellenfilter" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Filter hinzufügen" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "Filter zurücksetzen" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "Keine Einträge gefunden" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "Der Server hat einen falschen Datentyp zurückgegeben" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "Ungültige Anfrage" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "Nicht autorisiert" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "Verweigert" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "Nicht gefunden" @@ -5544,15 +5648,15 @@ msgstr "Nicht gefunden" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "Diese Aktion kann nicht rückgängig gemacht werden!" @@ -5573,26 +5677,26 @@ msgstr "Diese Aktion kann nicht rückgängig gemacht werden!" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "Barcode-Aktionen" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "Ausgewählte Datensätze löschen" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "Daten aktualisieren" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "Tabellenfilter" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "Teile-Informationen" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "Externer Bestand" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "Ersatz Bestand einbeziehen" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "Alternatives Lager einschließen" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "Gebäude" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "Lagerinformationen" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "Verbrauchsartikel" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "Nachverfolgbare Teile anzeigen" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "Optional" @@ -5723,7 +5832,7 @@ msgstr "Optionale Elemente anzeigen" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "Verbrauchsmaterial" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "Bauprodukt" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "Zugewiesen" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "Zugewiesene Positionen anzeigen" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "Positionen mit verfügbarem Lagerbestand anzeigen" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "Verbrauchsmaterialien anzeigen" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "Optionale Positionen anzeigen" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "Nachverfolgbare Freigabe" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "Verfolgbare Positionen anzeigen" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "In Produktion" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "Kein Lagerbestand verfügbar" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "Einheiten Menge" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" -msgstr "Bestand zuweisen" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" +msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "Bestand bestellen" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "Bestand bauen" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "Aktive Aufträge anzeigen" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "Nach Bestellstatus filtern" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "Überfälligen Status anzeigen" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "Nach Produktcode filtern" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "Hat Projektcode" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "Filtern, ob die Bestellung einen Projektcode hat" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "Filtern nach Benutzer, der diese Bestellung ausgestellt hat" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "Nach verantwortlichem Besitzer filtern" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "Testergebnis hinzugefügt" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "Kein Ergebnis" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "Ergebnisse" msgid "No Results" msgstr "Keine Ergebnisse" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "Erforderlich" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "Erforderliche Tests anzeigen" @@ -7280,21 +7407,29 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" -msgstr "Bewerten" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" -msgstr "Wechselkurse aktualisiert" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" -msgstr "Fehler beim Aktualisieren des Wechselkurses" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" -msgstr "Wechselkurse aktualisieren" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" +msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" @@ -7838,58 +7973,58 @@ msgstr "Teststation" msgid "Finished" msgstr "Fertiggestellt" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "Testergebnis aktualisiert" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "Testergebnis gelöscht" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "Test bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "Testergebnis wurde erfasst" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "Fehler beim Erfassen des Testergebnisses" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "Test bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "Ergebnisse für erforderliche Tests anzeigen" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "Installierte Teile einschließen" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "Zeige Ergebnisse für installierte Lagerartikel" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "Bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "Nur bestandene Tests anzeigen" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index fc638a4b6a..143dce99fd 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: el\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:49\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: el\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Αφαίρεση της σχετικής εικόνας από αυτό το στοιχείο;" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Αφαίρεση" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Ακύρωση" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Εκκαθάριση" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Σφάλμα Φόρμας" @@ -403,19 +407,19 @@ msgstr "Σφάλμα Φόρμας" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Ενημέρωση" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Ανενεργό" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index b9e9b6fea4..7584305d0b 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -64,9 +64,9 @@ msgstr "Label printing completed successfully" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Error" @@ -102,6 +102,10 @@ msgstr "Print Labels" msgid "Print Reports" msgstr "Print Reports" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "Remove this row" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Scan QR code" @@ -145,20 +149,20 @@ msgid "Remove the associated image from this item?" msgstr "Remove the associated image from this item?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Remove" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Cancel" @@ -176,7 +180,7 @@ msgid "Clear" msgstr "Clear" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -390,7 +394,7 @@ msgid "A server error occurred" msgstr "A server error occurred" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Form Error" @@ -398,19 +402,19 @@ msgstr "Form Error" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "Errors exist for one or more form fields" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Update" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -586,7 +590,7 @@ msgstr "Host" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -679,11 +683,11 @@ msgstr "Loading" msgid "No results found" msgstr "No results found" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "modelRenderer entry required for tables" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "No entries available" @@ -858,72 +862,89 @@ msgstr "Importing Records" msgid "Imported rows" msgstr "Imported rows" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Barcode Actions" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "View Barcode" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "View" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "View barcode" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Link Barcode" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "Link a custom barcode to this item" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Unlink Barcode" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Unlink custom barcode" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Edit" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "Edit item" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Delete item" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "Hold" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Duplicate" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Duplicate item" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "Scan barcode data here using barcode scanner" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "Barcode" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "Scan" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Read More" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Unknown error" @@ -960,30 +981,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "This panel is a placeholder." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "Low (7%)" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "Medium (15%)" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "Quartile (25%)" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "High (30%)" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "Custom barcode" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "A custom barcode is registered for this item. The shown code is not that custom barcode." + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "Barcode Data:" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "Select Error Correction Level" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Link" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "This will remove the link to the associated barcode" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Version Information" @@ -1086,56 +1127,15 @@ msgstr "Failed to fetch license information" msgid "{key} Packages" msgstr "{key} Packages" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Unknown response" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Error while getting camera" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Error while scanning" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Error while stopping" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Scanning" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Not scanning" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Select Camera" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Start scanning" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Stop scanning" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "No scans yet!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Close modal" @@ -1262,7 +1262,7 @@ msgstr "Change Color Mode" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Admin Center" @@ -1297,7 +1297,7 @@ msgid "Pages" msgstr "Pages" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1374,23 +1374,25 @@ msgstr "No results" msgid "No results available for search query" msgstr "No results available for search query" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Unknown model: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1407,7 +1409,7 @@ msgstr "Part" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Parts" @@ -1428,9 +1430,9 @@ msgid "Part Test Templates" msgstr "Part Test Templates" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1459,12 +1461,13 @@ msgstr "Part Category" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Part Categories" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1472,9 +1475,9 @@ msgstr "Stock Item" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Stock Items" @@ -1483,9 +1486,9 @@ msgid "Stock Location" msgstr "Stock Location" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Stock Locations" @@ -1542,7 +1545,7 @@ msgstr "Companies" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1550,13 +1553,13 @@ msgid "Project Code" msgstr "Project Code" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Project Codes" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1565,8 +1568,8 @@ msgstr "Purchase Order" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Purchase Orders" @@ -1580,9 +1583,9 @@ msgid "Purchase Order Lines" msgstr "Purchase Order Lines" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1591,7 +1594,7 @@ msgstr "Sales Order" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Sales Orders" @@ -1605,7 +1608,7 @@ msgid "Sales Order Shipments" msgstr "Sales Order Shipments" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Return Order" @@ -1636,9 +1639,9 @@ msgid "Addresses" msgstr "Addresses" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Contact" @@ -1663,7 +1666,7 @@ msgid "User" msgstr "User" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Users" @@ -1692,7 +1695,7 @@ msgid "Label Template" msgstr "Label Template" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "Label Templates" @@ -1701,7 +1704,7 @@ msgid "Report Template" msgstr "Report Template" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "Report Templates" @@ -1713,6 +1716,14 @@ msgstr "Plugin Configuration" msgid "Plugin Configurations" msgstr "Plugin Configurations" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "Content Type" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "Content Types" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "Shipment" @@ -1720,8 +1731,8 @@ msgstr "Shipment" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Inactive" @@ -1735,30 +1746,31 @@ msgstr "No stock" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Stock" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Serial Number" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2503,8 +2515,8 @@ msgstr "Demo" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Purchasing" @@ -2512,9 +2524,9 @@ msgstr "Purchasing" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Sales" @@ -2605,6 +2617,11 @@ msgstr "Licenses" msgid "User attributes and design settings." msgstr "User attributes and design settings." +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Scanning" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2693,47 +2710,78 @@ msgstr "View for interactive scanning and multiple actions." #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "Next serial number" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "Latest serial number" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "Remove output" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "Complete Build Outputs" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "Build outputs have been completed" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "Scrap Build Outputs" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "Build outputs have been scrapped" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "Cancel Build Outputs" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "Selected build outputs will be deleted" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "Build outputs have been cancelled" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "Allocated" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "Remove line" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "Source Location" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "Select the source location for the stock allocation" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "Allocate Stock" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "Stock items allocated" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2754,159 +2802,160 @@ msgstr "Parent part category" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "Choose Location" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "Item Destination selected" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "Part category default location selected" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "Received stock location selected" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "Default location selected" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "Scan Barcode" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "Set Location" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "Assign Batch Code{0}" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "Adjust Packaging" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "Change Status" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "Add Note" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "Remove item from list" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Location" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "Store at default location" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "Store at line item destination" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "Store with already received stock" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "Batch Code" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "Serial numbers" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "Packaging" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "Note" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "SKU" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "Received" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Actions" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "Receive Line Items" @@ -2914,7 +2963,7 @@ msgstr "Receive Line Items" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "Add given quantity as packs instead of individual items" @@ -2922,98 +2971,103 @@ msgstr "Add given quantity as packs instead of individual items" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "Enter initial quantity for this stock item" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "Serial Numbers" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Enter serial numbers for new stock (or leave blank)" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "Stock Status" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "Add Stock Item" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "Loading..." -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "Move to default location" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "In Stock" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "Move" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Add" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "Count" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "Add Stock" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "Remove Stock" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "Transfer Stock" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "Count Stock" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "Change Stock Status" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "Merge Stock" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "Delete Stock Items" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "Parent stock location" @@ -3135,7 +3189,7 @@ msgid "Checking if you are already logged in" msgstr "Checking if you are already logged in" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "No selection" @@ -3360,115 +3414,147 @@ msgstr "Manual input" msgid "Image Barcode" msgstr "Image Barcode" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "Selected elements are not known" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "Multiple object types selected" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "Actions for {0}" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "Scan Page" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "This page can be used for continuously scanning items and taking actions on them." -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "Toggle Fullscreen" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "Select the input method you want to use to scan items." -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "Input" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "Select input method" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "Nothing found" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "Action" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "{0} items selected" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "General Actions" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "Lookup part" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "Open Link" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "History is locally kept in this browser." -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "History" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "Delete History" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "No history" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Item" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Type" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Source" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Scanned at" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "Enter item serial or data" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "Add dummy item" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "Start scanning by selecting a camera and pressing the play button." + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Error while getting camera" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Error while scanning" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Error while stopping" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Stop scanning" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Start scanning" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Not scanning" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Select Camera" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "Account Details" @@ -3596,9 +3682,9 @@ msgid "No tokens configured" msgstr "No tokens configured" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3668,19 +3754,48 @@ msgstr "Loader" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "Currency" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "Rate" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "Exchange rates updated" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "Exchange rate update error" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "Refresh currency exchange rates" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "Last fetched" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "Base currency" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "Data Import" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "Background Tasks" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "Error Reports" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "Currencies" @@ -3688,41 +3803,45 @@ msgstr "Currencies" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "Custom States" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "Custom Units" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "Part Parameters" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "Category Parameters" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "Location Types" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "Location Types" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Machines" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "Quick Actions" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "Add a new user" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "Advanced Options" @@ -3767,26 +3886,26 @@ msgstr "Plugin Errors" msgid "Plugin Settings" msgstr "Plugin Settings" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "Background Worker Not Running" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "The background task manager service is not running. Contact your system administrator." -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "Pending Tasks" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "Scheduled Tasks" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "Failed Tasks" @@ -3869,15 +3988,15 @@ msgid "Reporting" msgstr "Reporting" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "Stocktake" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Build Orders" @@ -3937,41 +4056,41 @@ msgstr "Mark as unread" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "IPN" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "Reference" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3985,51 +4104,45 @@ msgstr "Reference" msgid "Description" msgstr "Description" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "Parent Build" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "Build Quantity" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "Completed Outputs" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "Issued By" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "Responsible" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "Created" -#: src/pages/build/BuildDetail.tsx:185 -#: src/pages/part/PartDetail.tsx:269 -#: src/pages/stock/StockDetail.tsx:150 -#~ msgid "View part barcode" -#~ msgstr "View part barcode" - -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 #: src/tables/ColumnRenderers.tsx:212 #: src/tables/part/PartPurchaseOrdersTable.tsx:99 #: src/tables/sales/ReturnOrderLineItemTable.tsx:110 @@ -4037,33 +4150,35 @@ msgstr "Created" msgid "Target Date" msgstr "Target Date" +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "Completed" + #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "Completed" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "Source Location" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "Any location" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "Destination Location" @@ -4079,70 +4194,70 @@ msgstr "Destination Location" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "Build Details" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "Line Items" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "Incomplete Outputs" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "Allocated Stock" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "Consumed Stock" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "Child Build Orders" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "Test Results" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "Test Statistics" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "Attachments" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Notes" @@ -4151,134 +4266,134 @@ msgstr "Notes" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "Edit Build Order" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "Edit Build Order" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "Add Build Order" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "Cancel Build Order" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "Order cancelled" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "Cancel this order" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "Hold Build Order" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "Place this order on hold" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "Order placed on hold" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "Issue Build Order" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "Issue this order" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "Order issued" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "Complete Build Order" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "Mark this order as complete" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "Order completed" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "Issue Order" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "Complete Order" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "Build Order Actions" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "Edit order" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "Duplicate order" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "Hold order" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "Cancel order" @@ -4304,10 +4419,10 @@ msgstr "Default Currency" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4319,7 +4434,7 @@ msgstr "Supplier" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Manufacturer" @@ -4327,9 +4442,9 @@ msgstr "Manufacturer" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4376,18 +4491,18 @@ msgid "Company Actions" msgstr "Company Actions" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "Internal Part" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "External Link" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "Manufacturer Part Number" @@ -4401,12 +4516,12 @@ msgid "Manufacturer Part Details" msgstr "Manufacturer Part Details" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "Parameters" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "Suppliers" @@ -4435,7 +4550,7 @@ msgstr "Manufacturer Part Actions" msgid "ManufacturerPart" msgstr "ManufacturerPart" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4443,54 +4558,54 @@ msgstr "ManufacturerPart" msgid "Pack Quantity" msgstr "Pack Quantity" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "Supplier Availability" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "Availability Updated" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "Availability" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "Supplier Part Details" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "Received Stock" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "Supplier Pricing" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "Supplier Part Actions" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Edit Supplier Part" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "Delete Supplier Part" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Add Supplier Part" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "Path" @@ -4504,7 +4619,7 @@ msgid "Subcategories" msgstr "Subcategories" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4529,7 +4644,7 @@ msgid "Edit Part Category" msgstr "Edit Part Category" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "Delete items" @@ -4599,16 +4714,9 @@ msgstr "Units" msgid "Keywords" msgstr "Keywords" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Link" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4624,232 +4732,237 @@ msgstr "Minimum Stock" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "On order" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "Required for Orders" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "Allocated to Build Orders" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "Allocated to Sales Orders" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "Can Build" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" -msgstr "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" +msgstr "In Production" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "Locked" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "Template Part" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" +msgstr "Template Part" + +#: src/pages/part/PartDetail.tsx:320 #: src/tables/bom/BomTable.tsx:315 msgid "Assembled Part" msgstr "Assembled Part" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" -msgstr "Component Part" - #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" -msgstr "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" +msgstr "Component Part" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "Testable Part" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "Trackable Part" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "Purchaseable Part" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "Saleable Part" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "Virtual Part" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "Creation Date" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "Created By" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "Default Supplier" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Price Range" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Last Stocktake" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "Part Details" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "Allocations" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "Build Order Allocations" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "Sales Order Allocations" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "Bill of Materials" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "Used In" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "Part Pricing" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "Manufacturers" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "Test Templates" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "Related Parts" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "Available" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "No Stock" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "Required" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "On Order" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "In Production" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "Edit Part" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "Add Part" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "Delete Part" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "Deleting this part cannot be reversed" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "Stock Actions" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "Count part stock" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "Part Actions" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "Select Part Revision" @@ -5010,7 +5123,7 @@ msgid "Overall Pricing" msgstr "Overall Pricing" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "Last Updated" @@ -5042,7 +5155,7 @@ msgstr "Loading pricing data" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Date" @@ -5070,23 +5183,23 @@ msgstr "Supplier Price" msgid "Variant Part" msgstr "Variant Part" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "Edit Purchase Order" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "Add Purchase Order" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "Supplier Reference" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "Completed Line Items" @@ -5096,91 +5209,91 @@ msgstr "Completed Line Items" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "Order Currency" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "Total Cost" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "Created On" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "Order Details" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "Extra Line Items" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "Issue Purchase Order" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "Cancel Purchase Order" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "Hold Purchase Order" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "Complete Purchase Order" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "Order Actions" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "Customer Reference" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "Edit Return Order" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "Add Return Order" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "Issue Return Order" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "Cancel Return Order" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "Order canceled" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "Hold Return Order" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "Complete Return Order" @@ -5188,15 +5301,15 @@ msgstr "Complete Return Order" msgid "Customers" msgstr "Customers" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "Completed Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "Edit Sales Order" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5206,99 +5319,95 @@ msgstr "Add Sales Order" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "Issue Sales Order" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "Cancel Sales Order" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "Hold Sales Order" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "Complete Sales Order" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "Ship Order" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "Parent Location" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "Sublocations" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "External" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "Location Type" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "Top level stock location" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "Location Details" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "Default Parts" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "Edit Stock Location" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "Delete Stock Location" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "Items Action" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "Action for stock items in this location" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "Child Locations Action" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "Action for child locations in this location" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "Location Actions" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Base Part" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "Stock Status" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5307,11 +5416,11 @@ msgstr "Stock Status" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "Installed In" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "Consumed By" @@ -5319,7 +5428,7 @@ msgstr "Consumed By" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5329,27 +5438,27 @@ msgstr "Build Order" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "Stock Details" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "Stock Tracking" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "Test Data" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "Installed Items" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "Child Items" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "Edit Stock Item" @@ -5357,38 +5466,38 @@ msgstr "Edit Stock Item" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "Delete Stock Item" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "Stock Operations" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "Count stock" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "Add stock" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "Remove stock" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "Transfer" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "Transfer stock" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "Stock Item Actions" @@ -5409,11 +5518,6 @@ msgstr "No location set" msgid "Shipment Date" msgstr "Shipment Date" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "Currency" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5448,12 +5552,12 @@ msgid "Download Data" msgstr "Download Data" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "Assigned to me" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "Show orders assigned to me" @@ -5466,7 +5570,7 @@ msgid "Show outstanding orders" msgstr "Show outstanding orders" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "Overdue" @@ -5478,60 +5582,60 @@ msgstr "Show overdue orders" msgid "Remove filter" msgstr "Remove filter" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Select filter" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Value" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Select filter value" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "Table Filters" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Add Filter" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "Clear Filters" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "No records found" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "Server returned incorrect data type" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "Bad request" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "Unauthorized" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "Forbidden" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "Not found" @@ -5539,15 +5643,15 @@ msgstr "Not found" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "Delete Selected Items" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "Are you sure you want to delete the selected items?" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "This action cannot be undone!" @@ -5568,26 +5672,26 @@ msgstr "This action cannot be undone!" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "Barcode actions" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "Delete selected records" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "Refresh data" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "Table filters" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "item-{idx}" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5602,22 +5706,27 @@ msgid "Part Information" msgstr "Part Information" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "External stock" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "Includes substitute stock" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "Includes variant stock" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "Building" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5626,7 +5735,7 @@ msgid "Stock Information" msgstr "Stock Information" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "Consumable item" @@ -5639,7 +5748,7 @@ msgstr "No available stock" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "Show testable items" @@ -5652,7 +5761,7 @@ msgid "Show trackable items" msgstr "Show trackable items" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "Show assembled items" @@ -5700,7 +5809,7 @@ msgstr "Show items which allow variant substitution" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "Optional" @@ -5718,7 +5827,7 @@ msgstr "Show optional items" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "Consumable" @@ -5818,7 +5927,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "Bill of materials cannot be edited, as the part is locked" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5864,8 +5973,8 @@ msgid "Available Quantity" msgstr "Available Quantity" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "Build Output" @@ -5878,94 +5987,109 @@ msgstr "Edit Build Item" msgid "Delete Build Item" msgstr "Delete Build Item" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "Allocated" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "Show allocated lines" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "Show lines with available stock" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "Show consumable lines" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "Show optional lines" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "Testable" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "Tracked" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "Show tracked lines" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "In production" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "Insufficient stock" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "No stock available" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "Gets Inherited" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "Unit Quantity" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "Create Build Order" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" -msgstr "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" +msgstr "Auto allocation in progress" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "Auto Allocate Stock" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "Automatically allocate stock to this build according to the selected options" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "Deallocate Stock" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "Deallocate all untracked stock for this build order" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "Deallocate stock from the selected line item" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "Stock has been deallocated" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "Order Stock" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "Build Stock" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "Show active orders" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "Cascade" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "Display recursive child orders" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5973,61 +6097,69 @@ msgstr "Display recursive child orders" msgid "Filter by order status" msgstr "Filter by order status" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "Show overdue status" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "Filter by project code" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "Has Project Code" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "Filter by whether the purchase order has a project code" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "Filter by responsible owner" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "Add Test Result" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "Test result added" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "No Result" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "Show build outputs currently in production" @@ -6727,11 +6859,6 @@ msgstr "Results" msgid "No Results" msgstr "No Results" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "Required" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "Show required tests" @@ -7275,21 +7402,29 @@ msgstr "Delivered" msgid "Show shipments which have been delivered" msgstr "Show shipments which have been delivered" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" -msgstr "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" +msgstr "Display Name" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" -msgstr "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" +msgstr "Model" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" -msgstr "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" +msgstr "Add State" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" -msgstr "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "Edit State" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "Delete State" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" +msgstr "Add state" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" @@ -7833,58 +7968,58 @@ msgstr "Test station" msgid "Finished" msgstr "Finished" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "Edit Test Result" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "Test result updated" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "Delete Test Result" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "Test result deleted" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "Test Passed" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "Test result has been recorded" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "Failed to record test result" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "Pass Test" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "Show results for required tests" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "Include Installed" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "Show results for installed stock items" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "Passed" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "Show only passed tests" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index a4fe509bd9..3ddc3334b6 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: es\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:49\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: es-ES\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -52,7 +52,7 @@ msgstr "Imprimir etiqueta" #: src/components/buttons/PrintingActions.tsx:99 msgid "Print" -msgstr "" +msgstr "Imprimir" #: src/components/buttons/PrintingActions.tsx:100 msgid "Label printing completed successfully" @@ -69,9 +69,9 @@ msgstr "Impresión de etiqueta completada con éxito" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Error" @@ -85,7 +85,7 @@ msgstr "Imprimir un informe" #: src/components/buttons/PrintingActions.tsx:138 msgid "Generate" -msgstr "" +msgstr "Generar" #: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" @@ -107,6 +107,10 @@ msgstr "Imprimir etiquetas" msgid "Print Reports" msgstr "Imprimir reportes" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Escanear código QR" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "¿Eliminar la imagen asociada de este elemento?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Eliminar" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Cancelar" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Borrar" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -348,43 +352,43 @@ msgstr "Error al renderizar plantilla" #: src/components/errors/ClientError.tsx:23 msgid "Client Error" -msgstr "" +msgstr "Error del cliente" #: src/components/errors/ClientError.tsx:24 msgid "Client error occurred" -msgstr "" +msgstr "Ha ocurrido un error de cliente" #: src/components/errors/GenericErrorPage.tsx:50 msgid "Status Code" -msgstr "" +msgstr "Código de estado" #: src/components/errors/GenericErrorPage.tsx:63 msgid "Return to the index page" -msgstr "" +msgstr "Volver a la página índice" #: src/components/errors/NotAuthenticated.tsx:8 msgid "Not Authenticated" -msgstr "" +msgstr "No autenticado" #: src/components/errors/NotAuthenticated.tsx:9 msgid "You are not logged in." -msgstr "" +msgstr "No has iniciado sesión." #: src/components/errors/NotFound.tsx:8 msgid "Page Not Found" -msgstr "" +msgstr "Página no encontrada" #: src/components/errors/NotFound.tsx:9 msgid "This page does not exist" -msgstr "" +msgstr "Esta página no existe" #: src/components/errors/PermissionDenied.tsx:8 msgid "Permission Denied" -msgstr "" +msgstr "Permiso denegado" #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." -msgstr "" +msgstr "No tiene permisos para ver esta página." #: src/components/errors/ServerError.tsx:8 msgid "Server Error" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Error de formulario" @@ -403,19 +407,19 @@ msgstr "Error de formulario" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Actualizar" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Cargando" msgid "No results found" msgstr "No hay resultados" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Vista" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Ver código de barras" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Vincular Código de Barras" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" +msgstr "Duplicar" + +#: src/components/items/ActionDropdown.tsx:250 +msgid "Duplicate item" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 -msgid "Duplicate item" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" msgstr "" #: src/components/items/DocTooltip.tsx:92 msgid "Read More" -msgstr "" +msgstr "Leer más" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Información de la versión" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1171,7 +1171,7 @@ msgstr "" #: src/components/modals/ServerInfoModal.tsx:57 msgid "Docker Mode" -msgstr "" +msgstr "Modo Docker" #: src/components/modals/ServerInfoModal.tsx:60 msgid "Server is deployed using docker" @@ -1211,7 +1211,7 @@ msgstr "" #: src/components/modals/ServerInfoModal.tsx:109 msgid "Email Settings" -msgstr "" +msgstr "Configuración del correo electrónico" #: src/components/modals/ServerInfoModal.tsx:113 msgid "Email settings not configured" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Inactivo" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" -msgstr "" +msgstr "Disponible" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/es_MX/messages.po b/src/frontend/src/locales/es_MX/messages.po index f096103241..fd5b71f40e 100644 --- a/src/frontend/src/locales/es_MX/messages.po +++ b/src/frontend/src/locales/es_MX/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: es-MX\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Impresión de etiqueta completada con éxito" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Error" @@ -107,6 +107,10 @@ msgstr "Imprimir etiquetas" msgid "Print Reports" msgstr "Imprimir informes" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Escanear código QR" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "¿Eliminar imagen asociada al artículo?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Eliminar" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Cancelar" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Borrar" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Órdenes de compra" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Inactivo" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "En Stock" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Agregar" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "Tarifa" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "Tipos de cambio actualizados" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "Informes" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Ordenes de Producción" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "Proveedor" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "Parámetros" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "Proveedores" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" -msgstr "" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" +msgstr "En producción" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "En producción" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "Contar stock" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "Agregar stock" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "Remover stock" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "Transferir stock" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "Mostrar órdenes activas" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "Filtrar por estado de la orden" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" -msgstr "Tarifa" - -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" -msgstr "Tipos de cambio actualizados" - -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/et/messages.po b/src/frontend/src/locales/et/messages.po index e1716e2891..5137dea9d4 100644 --- a/src/frontend/src/locales/et/messages.po +++ b/src/frontend/src/locales/et/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: et\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: et\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Sildi printimine õnnestus" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Tõrge" @@ -107,6 +107,10 @@ msgstr "Prindi sildid" msgid "Print Reports" msgstr "Prindi aruanded" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Skaneeri QR-koodi" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Kas soovite eemaldada seotud pildi sellest üksusest?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Eemalda" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Tühista" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Puhasta" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "Tekkis serveri viga" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Vormiviga" @@ -403,19 +407,19 @@ msgstr "Vormiviga" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Värskenda" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Laadimine" msgid "No results found" msgstr "Tulemusi pole" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Kuva" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Muuda" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Kasutaja" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Kasutajad" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Müük" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Asukoht" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Staatus" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Toimingud" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "Tegevus" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "Kirjeldus" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Kuupäev" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "Lisa testi tulemus" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "Testi tulemus lisatud" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "Tulemus puudub" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "Testijaam" msgid "Finished" msgstr "Lõpetatud" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "Muuda testi tulemust" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "Testi tulemus uuendatud" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "Kustuta testi tulemus" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "Testi tulemus kustutatud" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "Test läbitud" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "Testi tulemus on salvestatud" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "Testi tulemuse salvestamine ebaõnnestus" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "Läbige test" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "Näita kohustuslike testide tulemusi" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "Kaasa paigaldatud" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "Näita paigaldatud varude tulemusi" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "Läbitud" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "Näita ainult läbitud teste" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 63c1c9fda4..5a567f12a1 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: fa\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: fa\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index 721fc40221..b410fe6a41 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: fi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: fi\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 747914f2ca..9220718b06 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: fr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:49\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: fr\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Impression terminée avec succès" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Erreur" @@ -107,6 +107,10 @@ msgstr "Imprimer les étiquettes" msgid "Print Reports" msgstr "Imprimer les rapports" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Scanner le QR code" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Supprimer l'image associée de cet élément ?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Supprimer" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Annuler" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Effacer" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "Une erreur serveur s'est produite" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Erreur de formulaire" @@ -403,19 +407,19 @@ msgstr "Erreur de formulaire" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "Il existe des erreurs pour un ou plusieurs champs du formulaire" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Mise à jour" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Serveur" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Chargement" msgid "No results found" msgstr "Aucun résultat trouvé" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "Entrée modelRenderer requise pour les tables" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "Aucune entrée n'est disponible" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Actions de code-barres" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Vue" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Voir le code-barre" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Lier le code-barre" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Lier un code-barre personnalisé" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Délier le code-barre" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Délier le code-barres personnalisé" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Éditer" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Supprimer l’article" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Dupliquer" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Dupliquer l'article" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "En Savoir Plus" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Erreur inconnue" @@ -965,30 +986,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Lien" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Information sur la version" @@ -1091,56 +1132,15 @@ msgstr "Impossible de récupérer les informations de licence" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Réponse inconnue" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Erreur lors de l’activation de la caméra" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Erreur lors du scan" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Erreur lors de l'arrêt" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Analyse en cours" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Pas de scan en cours" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Sélectionner la caméra" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Commencer le scan" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Arrêter le scan" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Aucun scan pour le moment !" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Fermer" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Centre Admin" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Pages" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Extensions" @@ -1379,23 +1379,25 @@ msgstr "Aucun résultat" msgid "No results available for search query" msgstr "Aucun résultat disponible pour la requête" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Modèle inconnu : {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "Pièce" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Composants" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "Modèles de test de pièces" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "Catégorie de composant" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Catégories de composants" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "Article en stock" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Articles en stock" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "Emplacement du stock" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Emplacements de stock" @@ -1547,7 +1550,7 @@ msgstr "Sociétés" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "Code du projet" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Codes du projet" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "Commande d’achat" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Ordres d'achat" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "Lignes de commande d'achat" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "Ventes" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Ordres de vente" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "Expéditions de la commande" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Retour de commande" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "Adresses" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Contact" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Utilisateur" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Utilisateurs" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Inactif" @@ -1740,30 +1751,31 @@ msgstr "Aucun stock" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Stock" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Numéro de série" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "Démo" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Achat en cours" @@ -2517,9 +2529,9 @@ msgstr "Achat en cours" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Ventes" @@ -2610,6 +2622,11 @@ msgstr "Licences" msgid "User attributes and design settings." msgstr "Attributs utilisateur et paramètres de conception." +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Analyse en cours" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "Dernier numéro de série" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "Catégorie de pièce parente" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Actions" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "Ajouter une quantité en paquet au lieu de pièces individuelles" @@ -2927,98 +2976,103 @@ msgstr "Ajouter une quantité en paquet au lieu de pièces individuelles" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "Entrez la quantité initiale pour cet article en stock" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "Numéros de Série" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "Ajouter un article en stock" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "Vérifier si vous êtes déjà connecté" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Aucune sélection" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Aucun historique" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Élément" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Type" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Source" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Scanné le" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "Entrez le numéro de série ou les données de l'élément" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "Ajouter un élément factice" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Erreur lors de l’activation de la caméra" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Erreur lors du scan" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Erreur lors de l'arrêt" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Arrêter le scan" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Commencer le scan" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Pas de scan en cours" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Sélectionner la caméra" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "Détails du compte" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "Chargeur" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "Devise" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "Tâches en arrière plan" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "Rapports d'erreur" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "Unités personnalisées" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "Paramètres de la pièce" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "Actions rapides" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "Ajouter un utilisateur" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "Options avancées" @@ -3772,26 +3891,26 @@ msgstr "Erreurs du plugin" msgid "Plugin Settings" msgstr "Paramètres du plug-in" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "Tâches en attente" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "Tâches planifiées" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "Tâches en échec" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Ordres de fabrication" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,51 +4109,45 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "Responsable" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" -#: src/pages/build/BuildDetail.tsx:185 -#: src/pages/part/PartDetail.tsx:269 -#: src/pages/stock/StockDetail.tsx:150 -#~ msgid "View part barcode" -#~ msgstr "View part barcode" - -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 #: src/tables/ColumnRenderers.tsx:212 #: src/tables/part/PartPurchaseOrdersTable.tsx:99 #: src/tables/sales/ReturnOrderLineItemTable.tsx:110 @@ -4042,33 +4155,35 @@ msgstr "" msgid "Target Date" msgstr "Date cible" +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "" + #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "Unités" msgid "Keywords" msgstr "Mots-clés" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Lien" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "Stock Minimum" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "Sur commande" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "Alloué à l'ordre de construction" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "Alloué aux ordres de ventes" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "Peut être construit" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" -msgstr "Construire" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" +msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "Date de création" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "Fournisseur par Défaut" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Échelle des prix" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Dernier inventaire" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "Allocations" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "Disponible" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "Devise" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "Assigné à moi" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "Monter mes commandes" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "Afficher les commandes en cours" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "En retard" @@ -5483,60 +5587,60 @@ msgstr "Afficher les commandes en retard" msgid "Remove filter" msgstr "Supprimer le filtre" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Sélection du filtre" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Filtrer" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Valeur" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Sélection de la valeur du filtre" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "Filtres des tables" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Ajouter un filtre" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "Effacer filtres" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "Pas d'enregistrement trouvé" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "Le serveur à retourner un type de donnée incorrect" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "Requête invalide" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "Non autorisé" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "Accès interdit" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "Elément non trouvé" @@ -5544,15 +5648,15 @@ msgstr "Elément non trouvé" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "Cette action ne peut pas être annulée !" @@ -5573,26 +5677,26 @@ msgstr "Cette action ne peut pas être annulée !" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "Actions de code-barres" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "Supprimer les enregistrements sélectionnés" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "Actualiser les données" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "Filtres de tableau" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "Information de pièce" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "Comprend un stock de remplacement" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "Inclut le stock de variantes" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "Construire" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "Information de stock" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "Article consommable" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "Optionnel" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "Consommable" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index d15ce8a5a3..7619edc2f6 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: he\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\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" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: he\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 4e78547035..fd06d1417a 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: hi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: hi\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "क्यूआर कोड स्कैन करें" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "कैमरा चुनें" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "कैमरा चुनें" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index 74d4846e02..457282d28e 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: hu\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: hu\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Hiba" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "QR kód beolvasása" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Tételhez rendelt kép eltávolítása?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Eltávolítás" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Mégsem" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Törlés" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Form hiba" @@ -403,19 +407,19 @@ msgstr "Form hiba" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Frissítés" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Kiszolgáló" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Betöltés" msgid "No results found" msgstr "Nincs találat" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Vonalkód műveletek" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Megtekintés" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Vonalkód megtekintése" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Vonalkód hozzárendelése" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Egyedi vonalkód hozzárendelése" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Vonalkód leválasztása" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Egyedi vonalkód leválasztása" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Szerkesztés" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Tétel törlése" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Másolás" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Elem másolása" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Tudj meg többet" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Ismeretlen hiba" @@ -965,30 +986,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "Ez egy helykitöltő panel." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Link" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Verzióinformáció" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Ismeretlen válasz" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Hiba a kamera megnyitása közben" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Hiba a kódolvasás közben" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Hiba a leállítás közben" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Kódolvasás" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Nincs kódolvasás" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Kamera kiválasztása" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Kódolvasás indítása" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Kódolvasás leállítása" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Még nincs meg a kód!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Felugró ablak bezárása" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Admin központ" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Oldalak" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Pluginok" @@ -1379,23 +1379,25 @@ msgstr "Nincs találat" msgid "No results available for search query" msgstr "Nincs találat a keresésre" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Ismeretlen model: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "Alkatrész" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Alkatrészek" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "Alkatrész kategória" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Alkatrész kategóriák" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "Készlet tétel" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Készlet tételek" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "Készlet hely" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Készlethelyek" @@ -1547,7 +1550,7 @@ msgstr "Cégek" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "Projektszám" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Projektszámok" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "Beszerzési rendelés" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Beszerzési rendelések" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "Beszerzési rendelés tételei" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "Vevői rendelés" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Vevői rendelések" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "Vevői rendelés szállítmányok" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Visszavétel" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "Címek" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Kapcsolat" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Felhasználó" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Felhasználók" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "Szállítmány" @@ -1725,8 +1736,8 @@ msgstr "Szállítmány" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Inaktív" @@ -1740,30 +1751,31 @@ msgstr "Nincs készlet" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Készlet" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Sorozatszám" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "Demó" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Beszerzés" @@ -2517,9 +2529,9 @@ msgstr "Beszerzés" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Eladás" @@ -2610,6 +2622,11 @@ msgstr "Licencek" msgid "User attributes and design settings." msgstr "Felhasználói beállítások" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Kódolvasás" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "Nézet interaktív szkenneléshez és más műveletekhez." #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "Készlet foglalása" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "Felsőbb szintű alkatrész kategória" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Hely" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "Alapértelmezett helyre tárolás" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "Tárolás a tétel sor célhelyén" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "Tárolás a már megérkezett készlettel" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Állapot" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "Fogadott" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Műveletek" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 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" @@ -2927,98 +2976,103 @@ msgstr "Mennyiség hozzáadása csomagolási egységenként egyedi tételek hely #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 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:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 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:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "Új készlet tétel" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "Mozgatás az alapértelmezett helyre" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "Készleten" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "Áthelyezés" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Hozzáadás" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "Mennyiség" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "Készlethez ad" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "Készlet csökkentése" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "Készlet áthelyezése" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "Leltározás" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "Készlet állapot módosítása" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "Készlet összevonása" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "Készlet tétel törlése" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "Szülő készlet hely" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "Ellenőrzöm hogy be vagy-e már jelentkezve" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Nincs kijelölés" @@ -3365,115 +3419,147 @@ msgstr "Kézi bevitel" msgid "Image Barcode" msgstr "Vonalkód képe" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "Kiválasztott elemek ismeretlenek" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "Többféle objektum típus lett kiválasztva" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "{0} műveletei" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "Kódolvasó lap" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "Lap a tételek folyamatos kódolvasására és műveleteire." -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "Válassz beviteli módot a tételek beolvasásához." -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "Bevitel" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "Beviteli mód kiválasztása" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "Nincs találat" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "A kiválasztott alkatrészektől függő műveletek jelennek meg itt. Jelenleg nem minden vonalkód támogatott." -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "Művelet" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "{0} kiválasztott tétel" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "Általános műveletek" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "Alkatrész keresés" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "Link megnyitása" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "Az előzmények lokálisan a böngészőben tárolódnak." -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "Az előzmények a böngésző helyi tárhelyén tárolódnak. Így nem lesz megosztva más felhasználókkal vagy más eszközökkel, de az újratöltések során megmarad. Kijelölhetsz elemeket az előzményekből, hogy műveleteket hajts végre rajtuk. Elemek hozzáadásához szkennelje be/írja be azokat a beviteli területen." -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "Előzmények" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Nincs előzmény" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Tétel" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Típus" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Forrás" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Szkennelve ekkor" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "Add meg a tétel szériaszámát vagy adatát" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "Ál-tétel hozzáadása" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Hiba a kamera megnyitása közben" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Hiba a kódolvasás közben" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Hiba a leállítás közben" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Kódolvasás leállítása" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Kódolvasás indítása" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Nincs kódolvasás" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Kamera kiválasztása" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "Felhasználó adatok" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "Betöltő" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "Pénznem" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "Árfolyam" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "Árfolyamok frissítve" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "Árfolyam frissítési hiba" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "Árfolyam frissítés" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "Háttér műveletek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "Hibajelentések" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "Pénznemek" @@ -3693,41 +3808,45 @@ msgstr "Pénznemek" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "Egyedi mértékegységek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "Alkatrész paraméterek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "Kategória paraméterek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Berendezések" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "Gyors műveletek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "Új felhasználó hozzáadása" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "További beállítások" @@ -3772,26 +3891,26 @@ msgstr "Bővítmény Hibák" msgid "Plugin Settings" msgstr "Plugin beállítások" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "Folyamatban lévő feladatok" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "Ütemezett Feladatok" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "Hibás feladatok" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "Riportolás" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "Leltár" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Gyártási utasítások" @@ -3942,41 +4061,41 @@ msgstr "Megjelölés olvasatlanként" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "IPN" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "Hivatkozás" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,51 +4109,45 @@ msgstr "Hivatkozás" msgid "Description" msgstr "Leírás" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "Szülő gyártás" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "Befejezett kimenetek" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "Felelős" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" -#: src/pages/build/BuildDetail.tsx:185 -#: src/pages/part/PartDetail.tsx:269 -#: src/pages/stock/StockDetail.tsx:150 -#~ msgid "View part barcode" -#~ msgstr "View part barcode" - -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 #: src/tables/ColumnRenderers.tsx:212 #: src/tables/part/PartPurchaseOrdersTable.tsx:99 #: src/tables/sales/ReturnOrderLineItemTable.tsx:110 @@ -4042,33 +4155,35 @@ msgstr "" msgid "Target Date" msgstr "Cél dátum" +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "" + #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "Gyártás részletei" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "Sortételek" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "Befejezetlen kimenetek" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "Felhasznált készlet" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "Alárendelt gyártások" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "Teszt eredmények" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "Mellékletek" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Megjegyzések" @@ -4156,134 +4271,134 @@ msgstr "Megjegyzések" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "Gyártási utasítás szerkesztése" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "Gyártási utasítás szerkesztése" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "Gyártási utasítás létrehozása" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "Gyártáshoz foglalások" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "Beszállító" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Gyártó" @@ -4332,9 +4447,9 @@ msgstr "Gyártó" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "Cég műveletek" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "Paraméterek" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "Beszállítók" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "Beérkezett készlet" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Beszállítói alkatrész szerkesztése" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "Beszállítói alkatrész törlése" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Beszállítói alkatrész hozzáadása" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "Elérési út" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "Mértékegységek" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Link" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "Rendelve" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "Gyártható" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "Gyártásban" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:320 #: src/tables/bom/BomTable.tsx:315 msgid "Assembled Part" msgstr "Gyártmány alkatrész" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "Készítette" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Ártartomány" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "Leltárazta" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "Alkatrész részletei" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "Változatok" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "Foglalások" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "Gyártáshoz foglalások" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "Vevői rendeléshez foglalások" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "Alkatrészjegyzék" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "Felhasználva ebben" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "Alkatrész árak" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "Gyártók" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "Ütemezés" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "Teszt sablonok" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "Kapcsolódó alkatrészek" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "Elérhető" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "Nincs készlet" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "Rendelve" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "Gyártásban" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "Alkatrész hozzáadása" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "Készlet műveletek" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "Készlet számolása" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "Készlet áthelyezése" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "Alkatrész műveletek" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "Általános árazás" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "Legutóbb frissítve" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Dátum" @@ -5075,23 +5188,23 @@ msgstr "Beszállítói ár" msgid "Variant Part" msgstr "Alkatrészváltozat" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "Beszerzési rendelés szerkesztése" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "Beszerzés hozzáadása" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "Kész sortételek" @@ -5101,91 +5214,91 @@ msgstr "Kész sortételek" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "Teljes költség" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "Létrehozva" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "Rendelés részletei" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "Rendelés műveletek" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "Vevői azonosító" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "Vevők" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "Kész szállítmányok" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "Készlettörténet" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "Teszt adatok" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "Beépített tételek" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "Gyermek tételek" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "Készlet tétel szerkesztése" @@ -5362,38 +5471,38 @@ msgstr "Készlet tétel szerkesztése" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "Készlet műveletek" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "Leltározás" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "Készlethez ad" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "Készlet csökkentése" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "Áthelyezés" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "Készlet áthelyezése" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "Pénznem" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "Hozzám rendelt" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "Késésben" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "Szűrő eltávolítása" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Szűrő kiválasztása" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Szűrő" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Érték" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Szűrő érték kiválasztása" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Szűrő hozzáadása" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "Nincs találat" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "A szerver hibás adattípust küldött vissza" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "Hibás kérés" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "Jogosulatlan" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "Tiltott" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "Nem található" @@ -5544,15 +5648,15 @@ msgstr "Nem található" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "Vonalkód műveletek" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "Adatok frissítése" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "Táblaszűrők" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "Alkatrész információ" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "Változatokkal együtt" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "Gyártásban" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "Készlet adatok" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "Fogyóeszköz tétel" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "Opcionális" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "Fogyóeszköz" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "Gyártás kimenet" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "Lefoglalt tételek mutatása" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "Elérhető készlettel rendelkező sorok mutatása" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "Felhasználható sorok mutatása" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "Opcionális sorok mutatása" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "Követett" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "Követett tételek mutatása" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "Gyártásban" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "Nincs elérhető készlet" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "Mennyiségi egység" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" -msgstr "Készlet foglalása" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" +msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "Készlet rendelés" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "Gyártási készlet" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "Aktív megrendelések megjelenítése" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "Rendelési állapot szűrés" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "Lejártság megjelenítése" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "Projekt kódra szűrés" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "Van projektszáma" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "Szűrés aszerint, hogy az Értékesítési rendelésnek van-e projekt kódja" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "Szűrés a rendelést rögzítő felhasználóra" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "Szűrés a felelős tulajdonosra" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "Eredmények" msgid "No Results" msgstr "Nincs találat" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "Szükséges tesztek megjelenítése" @@ -7280,21 +7407,29 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" -msgstr "Árfolyam" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" -msgstr "Árfolyamok frissítve" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" -msgstr "Árfolyam frissítési hiba" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" -msgstr "Árfolyam frissítés" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" +msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index 0fdd20a1e2..8dbbefa35b 100644 --- a/src/frontend/src/locales/id/messages.po +++ b/src/frontend/src/locales/id/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: id\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: id\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -85,7 +85,7 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:138 msgid "Generate" -msgstr "" +msgstr "Hasilkan" #: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,23 +154,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" -msgstr "" +msgstr "Batal" #: src/components/details/DetailsImage.tsx:97 msgid "Drag and drop to upload" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -485,7 +489,7 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:107 #: src/components/forms/AuthenticationForm.tsx:228 msgid "Your username" -msgstr "" +msgstr "Nama Anda" #: src/components/forms/AuthenticationForm.tsx:112 #: src/components/forms/AuthenticationForm.tsx:240 @@ -496,7 +500,7 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:113 #: src/components/forms/AuthenticationForm.tsx:241 msgid "Your password" -msgstr "" +msgstr "Kata Sandi Anda" #: src/components/forms/AuthenticationForm.tsx:125 #: src/pages/Auth/Reset.tsx:26 @@ -530,7 +534,7 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:153 msgid "Use username and password" -msgstr "" +msgstr "Gunakan Nama Pengguna dan Kata Sandi" #: src/components/forms/AuthenticationForm.tsx:162 msgid "Log In" @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 2c48cf92ad..d31286abc6 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: it\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: it\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Stampa dell'etichetta completata con successo" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Errore" @@ -107,6 +107,10 @@ msgstr "Stampa Etichette" msgid "Print Reports" msgstr "Stampa report" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Scansiona il codice QR" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Rimuovi l'immagine associata all'articolo?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Rimuovi" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Annulla" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Elimina" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 14a8b0c5f4..f7558507cc 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: ja\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: ja\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "エラー" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "キャンセル" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "読み込み中" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "編集" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "続きを読む" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "パーツ" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "パーツ" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "在庫商品" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "在庫商品" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "在庫場所" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "在庫場所" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "ユーザー" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "在庫" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "ライセンス" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "この商品の初期数量を入力" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "リンクを開く" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "未読にする" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "説明" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "添付ファイル" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "メモ" @@ -4156,134 +4271,134 @@ msgstr "メモ" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "在庫商品を編集" @@ -5362,38 +5471,38 @@ msgstr "在庫商品を編集" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "フィルタを削除" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "フィルタを選択" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "フィルタ" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "値" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "フィルタの値を選択" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "フィルタを追加" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "表フィルタ" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index edfa7801ca..8c1de6fb0a 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: ko\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: ko\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 5cb003ac44..03aa1ede60 100644 --- a/src/frontend/src/locales/lv/messages.po +++ b/src/frontend/src/locales/lv/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: lv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: lv\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index e0275f0e4f..a47ade53b4 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: nl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: nl\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -93,7 +93,7 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:145 msgid "The report could not be generated" -msgstr "" +msgstr "Het rapport kon niet gegenereerd worden" #: src/components/buttons/PrintingActions.tsx:173 msgid "Printing Actions" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Scan QR code" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "De bijbehorende afbeelding van dit item verwijderen?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Verwijderen" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Annuleer" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Wis" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -530,7 +534,7 @@ msgstr "" #: src/components/forms/AuthenticationForm.tsx:153 msgid "Use username and password" -msgstr "" +msgstr "Gebruik gebruikersnaam en wachtwoord" #: src/components/forms/AuthenticationForm.tsx:162 msgid "Log In" @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -780,7 +784,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:182 msgid "Ignore this field" -msgstr "" +msgstr "Negeer dit veld" #: src/components/importer/ImporterColumnSelector.tsx:196 msgid "Mapping data columns to database fields" @@ -788,7 +792,7 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:201 msgid "Accept Column Mapping" -msgstr "" +msgstr "Accepteer kolomtoewijzing" #: src/components/importer/ImporterColumnSelector.tsx:214 msgid "Database Field" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "Barcode" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" -msgstr "" +msgstr "(25%)" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,20 +1480,20 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" #: src/components/render/ModelType.tsx:81 msgid "Stock Location" -msgstr "" +msgstr "Voorraad locatie" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "Verkooporder" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Verkooporders" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "Verzendingen verkooporders" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Retourorder" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Inactief" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -1796,7 +1808,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:162 msgid "No settings specified" -msgstr "" +msgstr "Geen instellingen opgegeven" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -2365,7 +2377,7 @@ msgstr "" #: src/pages/Index/Dashboard.tsx:19 #: src/pages/Index/Settings/UserSettings.tsx:46 msgid "Dashboard" -msgstr "" +msgstr "Dashboard" #: src/defaults/actions.tsx:26 msgid "Go to the InvenTree dashboard" @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Verkoop" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,45 +2715,76 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" +msgstr "Productieorders zijn geannuleerd" + +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" msgstr "" #: src/forms/CompanyForms.tsx:150 @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3097,7 +3151,7 @@ msgstr "" #: src/functions/notifications.tsx:10 msgid "Not implemented" -msgstr "" +msgstr "Niet geïmplementeerd" #: src/functions/notifications.tsx:11 msgid "This feature is not yet implemented" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" -msgstr "" +msgstr "Item" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Productieorders" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "Regelitems" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "Bijlagen" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Opmerkingen" @@ -4156,134 +4271,134 @@ msgstr "Opmerkingen" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "Verkoopordertoewijzingen" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "Order Details" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "Klantreferentie" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "Retourorder toevoegen" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "Klanten" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "Voltooide Verzendingen" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "Voeg Verkooporder toe" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "Filteren op bestellingstatus" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index 807fc80cd6..4b4c998025 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: no\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: no\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Feil" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Skann QR-kode" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Fjern" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Avbryt" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Skjemafeil" @@ -403,19 +407,19 @@ msgstr "Skjemafeil" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Oppdater" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Vert" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Laster" msgid "No results found" msgstr "Ingen resultater funnet" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Strekkodehandlinger" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Visning" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Vis strekkode" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Koble mot strekkode" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Koble til egendefinert strekkode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Fjern strekkodekobling" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Koble fra egendefinert strekkode" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Rediger" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Slett element" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Dupliser" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Dupliser element" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Les mer" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Ukjent feil" @@ -965,30 +986,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "Denne ruten er en plassholder." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Lenke" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Versjoninformasjon" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Ukjent svar" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Feil under henting av kamera" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Feil under skanning" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Feil under stans" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Skanner" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Skanner ikke" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Velg kamera" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Start skanningen" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Stopp skanning" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Ingen skanninger enda!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Lukk modal" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Adminsenter" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Sider" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Utvidelser" @@ -1379,23 +1379,25 @@ msgstr "Ingen resultater" msgid "No results available for search query" msgstr "Ingen resultater tilgjengelig for søk" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Ukjent modell: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "Del" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Deler" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "Delkategori" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Delkategorier" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "Lagervare" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Lagervarer" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "Lagerplassering" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Lagerplasseringer" @@ -1547,7 +1550,7 @@ msgstr "Firma" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "Prosjektkode" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Prosjektkoder" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "Innkjøpsordre" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Innkjøpsordrer" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "Ordrelinjer for innkjøpsordre" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "Salgsordre" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Salgsordrer" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "Salgsordreforsendelser" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Returordre" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "Adresser" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Kontakt" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Bruker" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Brukere" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "Forsendelse" @@ -1725,8 +1736,8 @@ msgstr "Forsendelse" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "Ingen lagerbeholdning" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Lagerbeholdning" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Serienummer" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "Demo" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Innkjøp" @@ -2517,9 +2529,9 @@ msgstr "Innkjøp" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Salg" @@ -2610,6 +2622,11 @@ msgstr "Lisenser" msgid "User attributes and design settings." msgstr "Brukerattributter og designinnstillinger." +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Skanner" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "Side for interaktiv skanning og flere handlinger." #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "Tildelt" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "Tildel lagerbeholdning" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "Overordnet del-kategori" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "Mottatt" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Handlinger" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "Legg til gitt mengde som pakker i stedet for enkeltprodukter" @@ -2927,98 +2976,103 @@ msgstr "Legg til gitt mengde som pakker i stedet for enkeltprodukter" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "Angi innledende antall for denne lagervaren" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "Serienumre" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Angi serienumre for ny lagerbeholdning (eller la stå tom)" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "På lager" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Legg til" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "Tell" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "Overfør lager" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "Tell beholdning" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "Sjekker om du allerede er innlogget" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Ingen utvalg" @@ -3365,115 +3419,147 @@ msgstr "Manuell innskriving" msgid "Image Barcode" msgstr "Bilde-strekkode" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "Valgte elementer er ikke kjent" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "Flere objekttyper er valgt" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "Handlinger for {0}" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "Skann side" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "Denne siden kan brukes til kontinuerlig skanning av elementer og til å utføre handlinger på dem." -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "Velg hvilken inndatametode du vil bruke til å skanne elementer." -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "Inndata" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "Velg inndatametode" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "Ingenting funnet" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "Avhengig av valgte delhandlinger vil bli vist her. Ikke alle strekkodetyper støttes for øyeblikket." -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "Handling" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "{0} elementer valgt" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "Generelle handliger" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "Slå opp del" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "Åpne lenke" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "Historikk holdes lokalt i denne nettleseren." -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "Historien ligger i denne nettleserens lokale lagringsplass. Så den vil ikke bli delt med andre brukere eller andre enheter, men er vedvarende ved gjennom nyinnlasting. Du kan velge elementer i historien for å utføre handlinger på dem. For å legge til elementer, skan/skriv dem inn i Input området." -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "Logg" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Ingen historikk" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Artikkel" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Type" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Kilde" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Skannet ved" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "Legg inn elementets serienummer eller data" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "Legg til dummyelement" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Feil under henting av kamera" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Feil under skanning" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Feil under stans" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Stopp skanning" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Start skanningen" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Skanner ikke" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Velg kamera" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "Kontodetaljer" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "Laster" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "Valuta" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "Kurs" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "Valutakurser oppdatert" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "Feil udner oppdatering av valutakurs" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "Oppdater valutakursene" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "Bakgrunnsoppgaver" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "Feilrapporter" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "Egendefinerte enheter" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "Delparametere" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "Hurtighandlinger" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "Legg til en ny bruker" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "Avanserte Innstillinger" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "Innstillinger for Utvidelser" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "Ventende oppgaver" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "Planlagte oppgaver" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "Mislykkede oppgaver" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "Rapportering" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "Lagertelling" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Produksjonsordrer" @@ -3942,41 +4061,41 @@ msgstr "Marker som ulest" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "IPN" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,51 +4109,45 @@ msgstr "" msgid "Description" msgstr "Beskrivelse" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "Fullførte artikler" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "Ansvarlig" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "Opprettet" -#: src/pages/build/BuildDetail.tsx:185 -#: src/pages/part/PartDetail.tsx:269 -#: src/pages/stock/StockDetail.tsx:150 -#~ msgid "View part barcode" -#~ msgstr "View part barcode" - -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 #: src/tables/ColumnRenderers.tsx:212 #: src/tables/part/PartPurchaseOrdersTable.tsx:99 #: src/tables/sales/ReturnOrderLineItemTable.tsx:110 @@ -4042,33 +4155,35 @@ msgstr "Opprettet" msgid "Target Date" msgstr "Måldato" +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "" + #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "Produksjonsdetaljer" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "Ordrelinjer" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "Ufullstendige artikler" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "Brukt lagerbeholdning" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "Underordnede Produksjonsordrer" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "Vedlegg" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Notater" @@ -4156,134 +4271,134 @@ msgstr "Notater" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "Rediger produksjonsordre" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "Rediger produksjonsordre" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "Legg til produksjonsordre" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "Produksjonsordre-handlinger" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "Leverandør" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Produsent" @@ -4332,9 +4447,9 @@ msgstr "Produsent" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "Bedriftshandlinger" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "Produsentens delenummer" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "Parametere" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "Leverandører" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "Pakkeantall" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "Mottatt lagerbeholdning" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Rediger Leverandørdel" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "Slett Leverandørdel" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Legg til leverandørdel" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "Sti" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "Enheter" msgid "Keywords" msgstr "Nøkkelord" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Lenke" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "I bestilling" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "Kan Produsere" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" -msgstr "Produseres" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" +msgstr "Under produksjon" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:320 #: src/tables/bom/BomTable.tsx:315 msgid "Assembled Part" msgstr "Sammenstilt del" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "Sporbar del" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "Opprettelsesdato" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Prisområde" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "Varianter" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "Tildelinger" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "Produksjonsordre-tildelinger" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "Salgsordretildelinger" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "Stykkliste (BOM)" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "Brukt i" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "Produsenter" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "Planlegging" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "Testmaler" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "Relaterte Deler" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "Tilgjengelig" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "I bestilling" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "Under produksjon" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "Rediger del" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "Lagerhandlinger" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "Tell delbeholdning" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "Overfør delbeholdning" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "Delhandlinger" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Dato" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "Ordredetaljer" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "Ordrehandlinger" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "Kundereferanse" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "Kunder" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "Fullførte forsendelser" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Basisdel" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "Sporing av lager" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "Testdata" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "Installerte artikler" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "Underordnede artikler" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "Rediger lagervare" @@ -5362,38 +5471,38 @@ msgstr "Rediger lagervare" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "Lagerhandlinger" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "Tell beholdning" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "Legg til lager" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "Fjern lager" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "Overfør" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "Overfør lager" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "Valuta" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "Tilordnet meg" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "Vis ordre tildelt meg" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "Vis utestående ordre" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "Forfalt" @@ -5483,60 +5587,60 @@ msgstr "Vis forfalte ordrer" msgid "Remove filter" msgstr "Fjern filter" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Velg filter" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Verdi" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Velg filterverdi" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "Tabellfiltre" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Legg til filter" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "Fjern filtre" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "Ingen poster funnet" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "Serveren returnerte feil datatype" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "Ugyldig forespørsel" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "Uautorisert" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "Forbudt" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "Ikke funnet" @@ -5544,15 +5648,15 @@ msgstr "Ikke funnet" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "Denne handlingen kan ikke angres!" @@ -5573,26 +5677,26 @@ msgstr "Denne handlingen kan ikke angres!" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "Strekkodehandlinger" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "Slett valgte oppføringer" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "Oppdater data" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "Tabellfiltre" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "Delinformasjon" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "Inkluderer erstatningsbeholdning" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "Inkluderer variantbeholdning" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "Produseres" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "Lagerinformasjon" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "Forbruksvare" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "Vis sporbare deler" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "Valgfritt" @@ -5723,7 +5832,7 @@ msgstr "Vis valgfrie elementer" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "Forbruksvare" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "Tildelt" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "Spores" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "Ingen lagerbeholdning tilgjengelig" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" -msgstr "Tildel lagerbeholdning" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" +msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "Vis aktive ordrer" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "Filtrer etter ordrestatus" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "Vis utløpt status" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,21 +7407,29 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" -msgstr "Kurs" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" -msgstr "Valutakurser oppdatert" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" -msgstr "Feil udner oppdatering av valutakurs" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" -msgstr "Oppdater valutakursene" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" +msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index 5912cde6c2..e359f9d115 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: pl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\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" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: pl\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Drukowanie etykiety zakończone powodzeniem" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Błąd" @@ -107,6 +107,10 @@ msgstr "Drukuj etykiety" msgid "Print Reports" msgstr "Drukuj raporty" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Skanuj kod QR" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Usunąć powiązany obrazek z tego elementu?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Usuń" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Anuluj" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Wyczyść" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "Wystąpił błąd serwera" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Błąd formularza" @@ -403,19 +407,19 @@ msgstr "Błąd formularza" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "Istnieją błędy dla jednego lub więcej pól formularzy" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Aktualizuj" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Host" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Wczytuję" msgid "No results found" msgstr "Nie znaleziono wyników" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "Brak wpisów" @@ -863,72 +867,89 @@ msgstr "Importowanie wpisów" msgid "Imported rows" msgstr "Zaimportowane wiersze" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Akcje kodów kreskowych" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "Pokaż kod kreskowy" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Pokaż kod kreskowy" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Połącz Kod Kreskowy" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Podłącz własny kod kreskowy" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Odłącz Kod Kreskowy" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Odłącz własny kod kreskowy" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Edytuj" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Usuń element" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "Wstrzymaj" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Zduplikuj" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Duplikuj pozycję" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Czytaj dalej" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Nieznany błąd" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "Ten panel jest placeholder." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "Niski (7%)" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "Średni (15%)" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "Kwartyl (25%)" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "Wysoki (30%)" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "Dane kodu kreskowego:" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "Wybierz poziom korekty błędów" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Informacje o wersji" @@ -1091,56 +1132,15 @@ msgstr "Nie udało się pobrać danych dotyczących licencji" msgid "{key} Packages" msgstr "Pakiety: {key}" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Nieznana odpowiedź" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Błąd podczas uruchamiania kamery" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Błąd podczas skanowania" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Błąd podczas zatrzymywania" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Skanowanie" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Nie skanuje" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Wybierz kamerę" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Rozpocznij skanowanie" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Zatrzymaj skanowanie" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Brak skanów!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Zamknij okno" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Centrum Admina" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Strony" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Wtyczki" @@ -1379,23 +1379,25 @@ msgstr "Brak wyników" msgid "No results available for search query" msgstr "Brak dostępnych wyników wyszukiwania" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Nieznany model: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "Komponent" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Komponenty" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "Kategoria części" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Kategorie części" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "Element magazynowy" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Elementy magazynowe" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "Lokacja stanu" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Lokacje stanów" @@ -1547,7 +1550,7 @@ msgstr "Firmy" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "Kod projektu" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Kody projektu" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "Zlecenie zakupu" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Zlecenia zakupu" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "Pozycje zlecenia zakupu" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "Zlecenie sprzedaży" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Zlecenia Sprzedaży" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "Adresy" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Kontakt" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Użytkownik" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Użytkownicy" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "Szablon etykiety" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "Szablony etykiet" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "Szablon Raportu" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "Szablony raportów" @@ -1718,6 +1721,14 @@ msgstr "Konfiguracja wtyczki" msgid "Plugin Configurations" msgstr "Konfiguracje wtyczki" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "Wysyłka" @@ -1725,8 +1736,8 @@ msgstr "Wysyłka" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Nieaktywny" @@ -1740,30 +1751,31 @@ msgstr "Brak w magazynie" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Stan" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Numer seryjny" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "Demo" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Zakupy" @@ -2517,9 +2529,9 @@ msgstr "Zakupy" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Sprzedaże" @@ -2610,6 +2622,11 @@ msgstr "Licencje" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Skanowanie" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "Następny numer seryjny" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "Ostatni numer seryjny" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "Kategoria części nadrzędnej" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "Wybierz lokalizację" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "Wybrano domyślną lokalizację" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "Zeskanuj kod kreskowy" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "Ustaw lokalizację" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "Przypisz kod partii{0}" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "Dostosuj opakowanie" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "Zmień status" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "Dodaj notatkę" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "Usuń element z listy" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Lokalizacja" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "Zapisz w domyślnej lokalizacji" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "Kod partii" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "Numery seryjne" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "Opakowanie" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "Notatka" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "SKU" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "Otrzymano" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Akcje" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "Dodaj podaną ilość jako paczkę zamiast poszczególnych produktów" @@ -2927,98 +2976,103 @@ msgstr "Dodaj podaną ilość jako paczkę zamiast poszczególnych produktów" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "Wprowadź początkową ilość dla tego towaru" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "Numery seryjne" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Wprowadź numery seryjne dla nowego stanu (lub pozostaw puste)" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "Dodaj element magazynowy" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "Ładowanie..." -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "Przenieś do domyślnej lokalizacji" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "Na stanie" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "Przenieś" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Dodaj" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "Ilość" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "Dodaj stan" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "Usuń stan" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "Przenieś stan" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "Policz stan" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "Zmień status stanu magazynowego" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "Sprawdzanie, czy jesteś już zalogowany" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Brak wyboru" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "Historia" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "Usuń historię" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Brak historii" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Komponent" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Typ" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Źródło" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Zeskanowano w" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Błąd podczas uruchamiania kamery" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Błąd podczas skanowania" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Błąd podczas zatrzymywania" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Zatrzymaj skanowanie" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Rozpocznij skanowanie" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Nie skanuje" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Wybierz kamerę" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "Szczegóły konta" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "Zadania w tle" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "Raporty o błędach" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "Waluty" @@ -3693,41 +3808,45 @@ msgstr "Waluty" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "Jednostki niestandardowe" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "Parametry części" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "Parametry kategorii" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Maszyny" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "Szybkie akcje" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "Dodaj nowego użytkownika" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "Opcje zaawansowane" @@ -3772,26 +3891,26 @@ msgstr "Błędy wtyczek" msgid "Plugin Settings" msgstr "Ustawienia wtyczki" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "Oczekujce zadania" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "Zaplanowane zadania" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "Zadania zakończone błędem" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "Raportowanie" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Zlecenia wykonania" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 12a292b9d0..bb145459ce 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: pt-PT\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Impressão da etiqueta concluída com sucesso" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Erro" @@ -107,6 +107,10 @@ msgstr "Imprimir Etiquetas" msgid "Print Reports" msgstr "Imprimir Relatórios" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Ler código QR" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Remover a imagem associada a este item?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Eliminar" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Cancelar" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Apagar" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -396,7 +400,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Erro de formulário" @@ -404,19 +408,19 @@ msgstr "Erro de formulário" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Atualizar" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -592,7 +596,7 @@ msgstr "Servidor" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -685,11 +689,11 @@ msgstr "A carregar" msgid "No results found" msgstr "Nenhum resultado encontrado" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "entrada do modelRenderer necessária para tabelas" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "Nenhuma entrada disponível" @@ -864,72 +868,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Ações de código de barras" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Visualizar" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Ver código de barras" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Atribuir Código de Barras" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Vincular código de barras personalizado" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Desatribuir Código de Barras" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Desvincular código de barras personalizado" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Editar" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Apagar Item" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Duplicar" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Duplicar item" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Mais informações" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Erro desconhecido" @@ -966,30 +987,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "Este painel é um espaço reservado." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Ligação" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Informação da versão" @@ -1092,56 +1133,15 @@ msgstr "Falha ao buscar informações da licença" msgid "{key} Packages" msgstr "{key} Pacotes" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Resposta desconhecida" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Erro ao carregar a câmera" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Erro ao digitalizar" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Erro ao parar" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Digitalizar" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Não digitalizar" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Selecionar câmara" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Iniciar a digitalização" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Parar a digitalização" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Ainda não há digitalizações!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Fechar diálogo" @@ -1268,7 +1268,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Centro de Administração" @@ -1303,7 +1303,7 @@ msgid "Pages" msgstr "Páginas" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Extensões" @@ -1380,23 +1380,25 @@ msgstr "Sem resultados" msgid "No results available for search query" msgstr "Não há resultados disponíveis para a pesquisa" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Modelo desconhecido: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1413,7 +1415,7 @@ msgstr "Peça" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Peças" @@ -1434,9 +1436,9 @@ msgid "Part Test Templates" msgstr "Modelos de Teste da Peça" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1465,12 +1467,13 @@ msgstr "Categoria da peça" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Categorias da Peça" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1478,9 +1481,9 @@ msgstr "Item de Estoque" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Itens de Estoque" @@ -1489,9 +1492,9 @@ msgid "Stock Location" msgstr "Localização de Stock" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Localizações de Stock" @@ -1548,7 +1551,7 @@ msgstr "Empresas" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1556,13 +1559,13 @@ msgid "Project Code" msgstr "Código do projeto" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Códigos do Projeto" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1571,8 +1574,8 @@ msgstr "Pedido de Compra" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Pedidos de compra" @@ -1586,9 +1589,9 @@ msgid "Purchase Order Lines" msgstr "Pedido de compra das linhas" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1597,7 +1600,7 @@ msgstr "Pedido de Venda" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Pedidos de vendas" @@ -1611,7 +1614,7 @@ msgid "Sales Order Shipments" msgstr "Envios dos Pedidos de Vendas" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Pedido de Devolução" @@ -1642,9 +1645,9 @@ msgid "Addresses" msgstr "Endereços" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Contato" @@ -1669,7 +1672,7 @@ msgid "User" msgstr "Utilizador" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Utilizadores" @@ -1698,7 +1701,7 @@ msgid "Label Template" msgstr "Modelo de Etiqueta" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "Modelos de Etiqueta" @@ -1707,7 +1710,7 @@ msgid "Report Template" msgstr "Modelo de relatório" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "Modelos de relatório" @@ -1719,6 +1722,14 @@ msgstr "Configuração de Extensão" msgid "Plugin Configurations" msgstr "Configurações de Extensões" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "Envios" @@ -1726,8 +1737,8 @@ msgstr "Envios" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Inativo" @@ -1741,30 +1752,31 @@ msgstr "Sem Estoque" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Estoque" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Número de Série" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2509,8 +2521,8 @@ msgstr "Demonstração" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Comprando" @@ -2518,9 +2530,9 @@ msgstr "Comprando" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Vendas" @@ -2611,6 +2623,11 @@ msgstr "Licenças" msgid "User attributes and design settings." msgstr "Atributos do usuário e configurações de design." +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Digitalizar" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2699,47 +2716,78 @@ msgstr "Visualização para varredura interativa e múltiplas ações." #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "Próximo número de série" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "Número de Série mais recente" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "Remover Saída" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "Concluir Saídas de Produção" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "O Pedido de produção foi concluído" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "Cancelar Saída de Produção" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "Os Pedidos de produção foram cancelados" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "Cancelar Saída de Produção" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "Saídas de produção selecionadas serão apagadas" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "Os Pedidos de produção foram cancelados" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "Alocado" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "Localização de Origem" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "Alocar estoque" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2760,159 +2808,160 @@ msgstr "Categoria parente da peça" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "Escolher Localização" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "Destino do item selecionado" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "Localização padrão da categoria de peça selecionada" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "Localização do estoque recebido selecionada" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "Localização padrão selecionada" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "Ler Código de Barras" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "Definir localização" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "Atribuir Código em Lote{0}" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "Alterar Estado" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "Remover item da lista" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Localização" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "Armazenar no local padrão" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "Armazenar no destino do item de linha" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "Armazenar com estoque já recebido" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "Código de Lote" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "Embalagem" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Estado" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "Nota" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "SKU" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "Recebido" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Ações" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "Receber item de linha" @@ -2920,7 +2969,7 @@ msgstr "Receber item de linha" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "Adicionar quantidade dada como pacotes em vez de itens individuais" @@ -2928,98 +2977,103 @@ msgstr "Adicionar quantidade dada como pacotes em vez de itens individuais" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "Digite a quantidade inicial para este item de estoque" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "Números de Série" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Insira os números de série para novo estoque (ou deixe em branco)" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "Estado do Estoque" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "Adicionar item de Estoque" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "A carregar..." -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "Mover para o local padrão" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "Em Estoque" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "Mover" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Adicionar" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "Contar" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "Adicionar Estoque" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "Remover Estoque" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "Transferir Estoque" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "Contar Estoque" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "Alterar estado do Estoque" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "Mesclar Estoque" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "Excluir Itens de Estoque" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "Localização parente de Estoque" @@ -3141,7 +3195,7 @@ msgid "Checking if you are already logged in" msgstr "Verificando se você já fez login" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Nenhuma seleção" @@ -3366,115 +3420,147 @@ msgstr "Entrada Manual" msgid "Image Barcode" msgstr "Imagem do Código de Barras" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "Elementos selecionados não são conhecidos" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "Vários tipos de objeto selecionados" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "Ações para {0}" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "Escanear Página" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "Esta página pode ser usada para escanear itens continuamente e tomar ações sobre eles." -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "Modo Ecrã Inteiro" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "Selecione o método de entrada que você deseja usar para escanear itens." -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "Entrada" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "Selecionar método de entrada" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "Nada encontrado" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "Dependendo das ações das peças selecionadas serão mostradas aqui. Nem todos os tipos de código de barras são suportados atualmente." -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "Ação" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "{0} itens selecionados" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "Ações Gerais" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "Pesquisar Peça" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "Abrir Ligação" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "O histórico é mantido localmente neste navegador." -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "O histórico é mantido no armazenamento local deste navegador. Por isso, ele não será compartilhado com outros usuários ou dispositivos, mas será persistente através de recarregamentos. Você pode selecionar itens no histórico para executar ações neles. Para adicionar itens, digitalize-os na área de entrada." -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "Histórico" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "Apagar Histórico" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Nenhum histórico" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Item" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Tipo" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Origem" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Escaneado em" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "Inserir número de série ou dados do item" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "Adicionar item fictício" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Erro ao carregar a câmera" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Erro ao digitalizar" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Erro ao parar" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Parar a digitalização" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Iniciar a digitalização" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Não digitalizar" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Selecionar câmara" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "Detalhes da Conta" @@ -3602,9 +3688,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3674,19 +3760,48 @@ msgstr "Carregador" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "Moeda" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "Taxa" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "Taxas de câmbio atualizadas" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "Ocorreu um erro ao atualizar as Taxas de câmbio" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "Atualizar taxas de câmbio" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "Tarefas em segundo plano" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "Relatórios de Erros" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "Moedas" @@ -3694,41 +3809,45 @@ msgstr "Moedas" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "Unidades Personalizadas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "Parâmetros da Peça" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "Parâmetros de Categoria" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Máquinas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "Ações Rápidas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "Adicionar um novo utilizador" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "Opções Avançadas" @@ -3773,26 +3892,26 @@ msgstr "Erros de Extensão" msgid "Plugin Settings" msgstr "Configurações da Extensão" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "Trabalhador de fundo não está em execução" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "O serviço de gerenciador de tarefas em segundo plano não está em execução. Entre em contato com o administrador do sistema." -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "Tarefas Pendentes" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "Tarefas Agendadas" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "Tarefas que falharam" @@ -3875,15 +3994,15 @@ msgid "Reporting" msgstr "Relatórios" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "Balanço" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Ordens de Produções" @@ -3943,41 +4062,41 @@ msgstr "Marcar como não lido" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "IPN" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "Referência" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3991,51 +4110,45 @@ msgstr "Referência" msgid "Description" msgstr "Descrição" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "Produção Parente" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "Quantidade de Produção" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "Saídas Concluídas" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "Emitido por" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "Responsável" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "Criado" -#: src/pages/build/BuildDetail.tsx:185 -#: src/pages/part/PartDetail.tsx:269 -#: src/pages/stock/StockDetail.tsx:150 -#~ msgid "View part barcode" -#~ msgstr "View part barcode" - -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 #: src/tables/ColumnRenderers.tsx:212 #: src/tables/part/PartPurchaseOrdersTable.tsx:99 #: src/tables/sales/ReturnOrderLineItemTable.tsx:110 @@ -4043,33 +4156,35 @@ msgstr "Criado" msgid "Target Date" msgstr "Data alvo" +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "Concluído" + #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "Concluído" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "Localização de Origem" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "Qualquer localização" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "Local de Destino" @@ -4085,70 +4200,70 @@ msgstr "Local de Destino" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "Detalhes da Produção" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "Itens de linha" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "Saídas Incompletas" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "Estoque Consumido" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "Pedido de Produção Filho" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "Resultados do teste" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "Anexos" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Anotações" @@ -4157,134 +4272,134 @@ msgstr "Anotações" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "Editar Pedido de Produção" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "Editar Pedido de Produção" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "Novo Pedido de Produção" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "Cancelar Pedido de Produção" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "Ações do Pedido de Produção" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "Cancelar pedido" @@ -4310,10 +4425,10 @@ msgstr "Moeda Padrão" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4325,7 +4440,7 @@ msgstr "Fornecedor" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Fabricante" @@ -4333,9 +4448,9 @@ msgstr "Fabricante" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4382,18 +4497,18 @@ msgid "Company Actions" msgstr "Ações da Empresa" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "Peça Interna" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "Link Externo" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "Número da Peça do Fabricante" @@ -4407,12 +4522,12 @@ msgid "Manufacturer Part Details" msgstr "Detalhes da Peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "Parâmetros" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "Fornecedores" @@ -4441,7 +4556,7 @@ msgstr "Ações da Peça do Fabricante" msgid "ManufacturerPart" msgstr "Peça do Fabricante" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4449,54 +4564,54 @@ msgstr "Peça do Fabricante" msgid "Pack Quantity" msgstr "Quantidade embalada" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "Disponibilidade do Fornecedor" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "Disponibilidade Atualizada" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "Disponibilidade" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "Detalhes da Peça do Fornecedor" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "Estoque Recebido" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "Preço do Fornecedor" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "Ações do Fornecedor da Peça" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Editar Fornecedor da Peça" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "Excluir Fornecedor da Peça" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Adicionar Fornecedor da Peça" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "Caminho" @@ -4510,7 +4625,7 @@ msgid "Subcategories" msgstr "Sub-categorias" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4535,7 +4650,7 @@ msgid "Edit Part Category" msgstr "Editar Categoria da Peça" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "Eliminar itens" @@ -4605,16 +4720,9 @@ msgstr "Unidades" msgid "Keywords" msgstr "Palavras-chave" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Ligação" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4630,232 +4738,237 @@ msgstr "Estoque Mínimo" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "Na ordem" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "Alocado para Pedidos de Produção" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "Alocado para Pedidos de Venda" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "Pode Produzir" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" -msgstr "Produzindo" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" +msgstr "Em Produção" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "Peça Modelo" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" +msgstr "Peça Modelo" + +#: src/pages/part/PartDetail.tsx:320 #: src/tables/bom/BomTable.tsx:315 msgid "Assembled Part" msgstr "Peça montada" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" -msgstr "Peça do componente" - #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" -msgstr "" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" +msgstr "Peça do componente" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "Peça rastreável" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "Peça comprável" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "Peça vendível" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "Peça virtual" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "Data de Criação" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "Criado por" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Intervalo de Preço" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Último Balanço" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "Balanço por" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "Detalhes da Peça" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "Variantes" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "Alocações" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "Alocações de Pedido de Produção" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "Alocações do Pedido de Vendas" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "Lista de Materiais" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "Utilizado em" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "Preço da Peça" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "Fabricantes" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "Agendamento" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "Modelos de Teste" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "Peças Relacionadas" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "Disponível" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "Sem Estoque" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "Obrigatório" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "No Pedido" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "Em Produção" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "Editar Peça" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "Adicionar Peça" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "Excluir Peça" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "A exclusão desta parte não pode ser revertida" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "Ações de Estoque" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "Contagem do estoque" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "Transferir peça do estoque" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "Ações da Peça" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5016,7 +5129,7 @@ msgid "Overall Pricing" msgstr "Preços Gerais" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "Última Atualização" @@ -5048,7 +5161,7 @@ msgstr "Carregando dados de preços" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Data" @@ -5076,23 +5189,23 @@ msgstr "Preço do fornecedor" msgid "Variant Part" msgstr "Peça Variante" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "Editar ordem de compra" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "Adicionar Ordem de Compra" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "Referencia do fornecedor" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "Itens de Linha Concluídos" @@ -5102,91 +5215,91 @@ msgstr "Itens de Linha Concluídos" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "Moeda do pedido" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "Custo Total" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "Criado em" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "Detalhes do pedido" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "Ações do Pedido" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "Referência do Cliente" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "Editar Pedido de Devolução" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "Novo Pedido de Devolução" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5194,15 +5307,15 @@ msgstr "" msgid "Customers" msgstr "Clientes" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "Envios concluídos" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "Editar Pedido de Venda" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5212,99 +5325,95 @@ msgstr "Novo Pedido de Venda" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "Localização Parente" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "Sub-locais" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "Externos" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "Tipo de Localização" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "Local de estoque de alto nível" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "Detalhes da localização" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "Peças padrão" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "Editar Local de Estoque" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "Editar Local de Estoque" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "Ações do item" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "Ações para itens de estoque nesta localização" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "Ações para localizações Filhas" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "Ação para locais filhos nesta localização" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "Ações de localização" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Peça Base" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "Estado do Estoque" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5313,11 +5422,11 @@ msgstr "Estado do Estoque" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "Instalado em" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "Consumido por" @@ -5325,7 +5434,7 @@ msgstr "Consumido por" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5335,27 +5444,27 @@ msgstr "Ordem de Produção" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "Detalhes de Estoque" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "Rastreamento de Estoque" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "Dados de teste" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "Itens instalados" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "Itens Filhos" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "Editar Item do Estoque" @@ -5363,38 +5472,38 @@ msgstr "Editar Item do Estoque" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "Excluir Item de Estoque" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "Operações de Stock" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "Contar Estoque" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "Adicionar estoque" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "Remover Estoque" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "Transferir Estoque" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "Ações do Item do Estoque" @@ -5415,11 +5524,6 @@ msgstr "Nenhum local definido" msgid "Shipment Date" msgstr "Data de Envio" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "Moeda" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5454,12 +5558,12 @@ msgid "Download Data" msgstr "Descarregar dados" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "Atribuído a mim" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "Mostrar pedidos atribuídos a mim" @@ -5472,7 +5576,7 @@ msgid "Show outstanding orders" msgstr "Mostrar pedidos pendentes" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "Em atraso" @@ -5484,60 +5588,60 @@ msgstr "Mostrar pedidos atrasados" msgid "Remove filter" msgstr "Remover filtro" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Selecionar filtro" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Filtro" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Valor" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Selecionar valor do filtro" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "Filtros de tabela" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Adicionar Filtro" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "Limpar Filtros" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "Nenhum registo encontrado" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "O servidor retornou dados incorretos" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "Pedido inválido" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "Não autorizado" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "Proibido" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "Não encontrado" @@ -5545,15 +5649,15 @@ msgstr "Não encontrado" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "Esta ação não pode ser desfeita!" @@ -5574,26 +5678,26 @@ msgstr "Esta ação não pode ser desfeita!" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "Ações de código de barras" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "Remover registos selecionados" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "Atualizar dados" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "Filtros de tabela" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5608,22 +5712,27 @@ msgid "Part Information" msgstr "Informação da Peça" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "Estoque externo" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "Inclui substitutos de estoque" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "Inclui estoque variante" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "Produzindo" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5632,7 +5741,7 @@ msgid "Stock Information" msgstr "Informação do Estoque" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "Item Consumível" @@ -5645,7 +5754,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5658,7 +5767,7 @@ msgid "Show trackable items" msgstr "Mostrar partes rastreáveis" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5706,7 +5815,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "Opcional" @@ -5724,7 +5833,7 @@ msgstr "Mostrar itens opcionais" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "Consumível" @@ -5824,7 +5933,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5870,8 +5979,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "Saída da Produção" @@ -5884,94 +5993,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "Alocado" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "Exibir linhas alocadas" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "Exibir linhas com estoque disponível" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "Mostrar linhas de consumíveis" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "Mostrar itens opcionais" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "Rastreado" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "Mostrar linhas rastreadas" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "Em produção" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "Nenhum estoque disponível" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "Quantidade Unitária" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" -msgstr "Alocar estoque" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" +msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "Encomendar Estoque" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "Produzir Estoque" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "Mostrar encomendas ativas" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5979,61 +6103,69 @@ msgstr "" msgid "Filter by order status" msgstr "Filtrar por estado do pedido" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "Mostrar estados atrasados" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "Filtrar por código de projeto" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "Possui Código do Projeto" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "Filtrar por se a ordem de compra tem um código de projeto" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "Filtrar por usuário que emitiu esta ordem" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "Filtrar pelo proprietário responsável" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "Adicionar Resultado de Teste" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "Resultado do teste adicionado" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "Sem Resultado" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6733,11 +6865,6 @@ msgstr "Resultados" msgid "No Results" msgstr "Sem Resultados" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "Obrigatório" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "Exibir testes obrigatórios" @@ -7281,21 +7408,29 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" -msgstr "Taxa" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" -msgstr "Taxas de câmbio atualizadas" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" -msgstr "Ocorreu um erro ao atualizar as Taxas de câmbio" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" -msgstr "Atualizar taxas de câmbio" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" +msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" @@ -7839,58 +7974,58 @@ msgstr "Estação de teste" msgid "Finished" msgstr "Concluído" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "Editar Resultado do Teste" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "Resultado do teste atualizado" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "Excluir Resultado do Teste" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "Resultado do teste excluído" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "Teste Aprovado" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "O resultado do teste foi gravado" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "Falha ao gravar resultado do teste" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "Passou no teste" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "Mostrar resultados para testes necessários" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "Incluir Instalados" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "Mostrar resultados para itens de estoque instalados" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "Aprovado" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "Mostrar apenas testes aprovados" diff --git a/src/frontend/src/locales/pt_BR/messages.po b/src/frontend/src/locales/pt_BR/messages.po index 7233168972..dc7ff1eb08 100644 --- a/src/frontend/src/locales/pt_BR/messages.po +++ b/src/frontend/src/locales/pt_BR/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: pt-BR\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -52,7 +52,7 @@ msgstr "Imprimir etiqueta" #: src/components/buttons/PrintingActions.tsx:99 msgid "Print" -msgstr "" +msgstr "Imprimir" #: src/components/buttons/PrintingActions.tsx:100 msgid "Label printing completed successfully" @@ -69,9 +69,9 @@ msgstr "Impressão de etiqueta finalizada com sucesso" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Erro" @@ -85,7 +85,7 @@ msgstr "Imprimir Relatório" #: src/components/buttons/PrintingActions.tsx:138 msgid "Generate" -msgstr "" +msgstr "Gerar" #: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" @@ -107,6 +107,10 @@ msgstr "Imprimir Etiquetas" msgid "Print Reports" msgstr "Imprimir Relatórios" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Escanear código QR" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Remover imagem associada a este item?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Remover" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Cancelar" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Limpar" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -348,54 +352,54 @@ msgstr "Erro ao carregar template" #: src/components/errors/ClientError.tsx:23 msgid "Client Error" -msgstr "" +msgstr "Erro do cliente" #: src/components/errors/ClientError.tsx:24 msgid "Client error occurred" -msgstr "" +msgstr "Ocorreu um erro do cliente" #: src/components/errors/GenericErrorPage.tsx:50 msgid "Status Code" -msgstr "" +msgstr "Código da situação" #: src/components/errors/GenericErrorPage.tsx:63 msgid "Return to the index page" -msgstr "" +msgstr "Retornar à página inicial" #: src/components/errors/NotAuthenticated.tsx:8 msgid "Not Authenticated" -msgstr "" +msgstr "Não autenticado" #: src/components/errors/NotAuthenticated.tsx:9 msgid "You are not logged in." -msgstr "" +msgstr "Você não está logado." #: src/components/errors/NotFound.tsx:8 msgid "Page Not Found" -msgstr "" +msgstr "Página não encontrada" #: src/components/errors/NotFound.tsx:9 msgid "This page does not exist" -msgstr "" +msgstr "Esta página não existe" #: src/components/errors/PermissionDenied.tsx:8 msgid "Permission Denied" -msgstr "" +msgstr "Permissão negada" #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." -msgstr "" +msgstr "Você não tem permissão para visualizar esta página." #: src/components/errors/ServerError.tsx:8 msgid "Server Error" -msgstr "" +msgstr "Erro de servidor" #: src/components/errors/ServerError.tsx:9 msgid "A server error occurred" -msgstr "" +msgstr "Ocorreu um erro no servidor" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Erro no formulário" @@ -403,19 +407,19 @@ msgstr "Erro no formulário" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" -msgstr "" +msgstr "Existem erros para um ou mais campos de formulário" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Atualizar" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Servidor" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -643,11 +647,11 @@ msgstr "Estado: <0>funcionário ({0}), <1>extensões{1}" #: src/components/forms/fields/IconField.tsx:81 msgid "No icon selected" -msgstr "" +msgstr "Sem ícones selecionados" #: src/components/forms/fields/IconField.tsx:159 msgid "Uncategorized" -msgstr "" +msgstr "Sem classificação" #: src/components/forms/fields/IconField.tsx:209 #: src/components/nav/Layout.tsx:70 @@ -657,15 +661,15 @@ msgstr "Buscar..." #: src/components/forms/fields/IconField.tsx:223 msgid "Select category" -msgstr "" +msgstr "Selecionar categoria" #: src/components/forms/fields/IconField.tsx:232 msgid "Select pack" -msgstr "" +msgstr "Selecione o pacote" #: src/components/forms/fields/IconField.tsx:237 msgid "{0} icons" -msgstr "" +msgstr "Ícones {0}" #: src/components/forms/fields/RelatedModelField.tsx:318 #: src/pages/Index/Settings/UserSettings.tsx:96 @@ -684,11 +688,11 @@ msgstr "Carregando" msgid "No results found" msgstr "Nenhum resultado encontrado" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "entrada modelRenderer necessária para tabelas" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "Não há itens disponíveis" @@ -702,69 +706,69 @@ msgstr "Miniatura" #: src/components/importer/ImportDataSelector.tsx:170 msgid "Importing Rows" -msgstr "" +msgstr "Importação de Linhas" #: src/components/importer/ImportDataSelector.tsx:171 msgid "Please wait while the data is imported" -msgstr "" +msgstr "Por favor, aguarde enquanto os dados são importados" #: src/components/importer/ImportDataSelector.tsx:188 msgid "An error occurred while importing data" -msgstr "" +msgstr "Ocorreu um erro na importação de dados" #: src/components/importer/ImportDataSelector.tsx:209 msgid "Edit Data" -msgstr "" +msgstr "Alterar dados" #: src/components/importer/ImportDataSelector.tsx:237 msgid "Delete Row" -msgstr "" +msgstr "Apagar linha" #: src/components/importer/ImportDataSelector.tsx:267 msgid "Row" -msgstr "" +msgstr "Linhas" #: src/components/importer/ImportDataSelector.tsx:285 msgid "Row contains errors" -msgstr "" +msgstr "A linha contém erros" #: src/components/importer/ImportDataSelector.tsx:326 msgid "Accept" -msgstr "" +msgstr "Concordar" #: src/components/importer/ImportDataSelector.tsx:359 msgid "Valid" -msgstr "" +msgstr "Válido" #: src/components/importer/ImportDataSelector.tsx:360 msgid "Filter by row validation status" -msgstr "" +msgstr "Filtrar por estado de validação de linha" #: src/components/importer/ImportDataSelector.tsx:365 #: src/tables/build/BuildOutputTable.tsx:266 msgid "Complete" -msgstr "" +msgstr "Concluir" #: src/components/importer/ImportDataSelector.tsx:366 msgid "Filter by row completion status" -msgstr "" +msgstr "Filtrar por estado de conclusão de linha" #: src/components/importer/ImportDataSelector.tsx:383 msgid "Import selected rows" -msgstr "" +msgstr "Importar as linhas selecionadas" #: src/components/importer/ImportDataSelector.tsx:398 msgid "Processing Data" -msgstr "" +msgstr "Processando dados" #: src/components/importer/ImporterColumnSelector.tsx:50 #: src/components/importer/ImporterColumnSelector.tsx:176 msgid "An error occurred" -msgstr "" +msgstr "Ocorreu um erro" #: src/components/importer/ImporterColumnSelector.tsx:62 msgid "Select column, or leave blank to ignore this field." -msgstr "" +msgstr "Selecione uma coluna, ou deixe em branco para ignorar este campo." #: src/components/importer/ImporterColumnSelector.tsx:91 #~ msgid "Select a column from the data file" @@ -780,51 +784,51 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:182 msgid "Ignore this field" -msgstr "" +msgstr "Ignorar esse campo" #: src/components/importer/ImporterColumnSelector.tsx:196 msgid "Mapping data columns to database fields" -msgstr "" +msgstr "Mapeando colunas de dados para campos no banco de dados" #: src/components/importer/ImporterColumnSelector.tsx:201 msgid "Accept Column Mapping" -msgstr "" +msgstr "Aceitar mapeamento de coluna" #: src/components/importer/ImporterColumnSelector.tsx:214 msgid "Database Field" -msgstr "" +msgstr "Campo do banco de dados" #: src/components/importer/ImporterColumnSelector.tsx:215 msgid "Field Description" -msgstr "" +msgstr "Descrição do Campo" #: src/components/importer/ImporterColumnSelector.tsx:216 msgid "Imported Column" -msgstr "" +msgstr "Coluna importada" #: src/components/importer/ImporterColumnSelector.tsx:217 msgid "Default Value" -msgstr "" +msgstr "Valor Padrão" #: src/components/importer/ImporterDrawer.tsx:44 msgid "Upload File" -msgstr "" +msgstr "Carregar Arquivo" #: src/components/importer/ImporterDrawer.tsx:45 msgid "Map Columns" -msgstr "" +msgstr "Mapear colunas" #: src/components/importer/ImporterDrawer.tsx:46 msgid "Import Data" -msgstr "" +msgstr "Importar dados" #: src/components/importer/ImporterDrawer.tsx:47 msgid "Process Data" -msgstr "" +msgstr "Dados de processo" #: src/components/importer/ImporterDrawer.tsx:48 msgid "Complete Import" -msgstr "" +msgstr "Importação completa" #: src/components/importer/ImporterDrawer.tsx:97 #~ msgid "Cancel import session" @@ -832,11 +836,11 @@ msgstr "" #: src/components/importer/ImporterDrawer.tsx:104 msgid "Import Complete" -msgstr "" +msgstr "Importação Completa" #: src/components/importer/ImporterDrawer.tsx:107 msgid "Data has been imported successfully" -msgstr "" +msgstr "Dados importados com sucesso" #: src/components/importer/ImporterDrawer.tsx:109 #: src/components/importer/ImporterDrawer.tsx:118 @@ -845,90 +849,107 @@ msgstr "" #: src/components/importer/ImporterDrawer.tsx:115 msgid "Unknown Status" -msgstr "" +msgstr "Status desconhecido" #: src/components/importer/ImporterDrawer.tsx:116 msgid "Import session has unknown status" -msgstr "" +msgstr "A sessão de importação tem status desconhecido" #: src/components/importer/ImporterDrawer.tsx:135 msgid "Importing Data" -msgstr "" +msgstr "Importando dados" #: src/components/importer/ImporterImportProgress.tsx:36 msgid "Importing Records" -msgstr "" +msgstr "Importação de Registros" #: src/components/importer/ImporterImportProgress.tsx:39 msgid "Imported rows" -msgstr "" +msgstr "Linhas Importadas" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Ações de código de barras" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Visualizar" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Ver código de barras" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Vincular Código de Barras" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Vincular código de barras personalizado" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "Vincular um código de barras personalizado para este item" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Desvincular Código de Barras" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Desvincular código de barras personalizado" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Editar" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" -msgstr "" +msgstr "Editar item" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Apagar item" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 -msgid "Hold" -msgstr "" - +#: src/components/items/ActionDropdown.tsx:226 #: src/components/items/ActionDropdown.tsx:227 +msgid "Hold" +msgstr "Aguarde" + +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Duplicar" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Duplicar item" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "Leia o código de barras aqui usando um leitor de código de barras" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "Código de barras" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Leia Mais" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Erro desconhecido" @@ -965,29 +986,49 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "Este painel é um espaço reservado." -#: src/components/items/QRCode.tsx:87 -msgid "Low (7%)" -msgstr "" - -#: src/components/items/QRCode.tsx:88 -msgid "Medium (15%)" -msgstr "" - -#: src/components/items/QRCode.tsx:89 -msgid "Quartile (25%)" -msgstr "" - #: src/components/items/QRCode.tsx:90 +msgid "Low (7%)" +msgstr "Baixo (7%)" + +#: src/components/items/QRCode.tsx:91 +msgid "Medium (15%)" +msgstr "Médio (15%)" + +#: src/components/items/QRCode.tsx:92 +msgid "Quartile (25%)" +msgstr "Aceitável (25%)" + +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" +msgstr "Alto (30%)" + +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "Um código de barras personalizado está registrado para este item. O código mostrado não é aquele código de barras personalizado." + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" -msgstr "" +msgstr "Dados de código de barras:" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" -msgstr "" +msgstr "Selecione Nível de Correção de Erro" + +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Link" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "Isto irá remover o link com o código de barras associado" #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" @@ -1091,56 +1132,15 @@ msgstr "Falha ao obter informações da licença" msgid "{key} Packages" msgstr "{key} Pacotes" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Resposta desconhecida" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Erro ao obter a câmera" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Erro ao escanear" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Erro ao parar" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Escaneando" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Não está escaneando" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Selecionar Camera" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Começar a escanear" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Parar escaneamento" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Ainda não há escaneamentos!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Fechar o modal" @@ -1262,12 +1262,12 @@ msgstr "Configurações do Sistema" #: src/components/nav/MainMenu.tsx:77 msgid "Change Color Mode" -msgstr "" +msgstr "Alterar o modo de cor" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Centro de Administração" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Páginas" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Extensões" @@ -1326,11 +1326,11 @@ msgstr "Notificações" #: src/components/nav/NotificationDrawer.tsx:94 msgid "Mark all as read" -msgstr "" +msgstr "Marcar tudo como lido" #: src/components/nav/NotificationDrawer.tsx:104 msgid "View all notifications" -msgstr "" +msgstr "Ver todas as notificações" #: src/components/nav/NotificationDrawer.tsx:123 msgid "You have no unread notifications." @@ -1379,23 +1379,25 @@ msgstr "Nenhum resultado" msgid "No results available for search query" msgstr "Não há resultados disponíveis para a pesquisa" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Modelo desconhecido: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "Peça" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Peças" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "Teste de Modelos de Peças" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "Categoria da Peça" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Categorias de Peça" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "Item de estoque" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Itens de Estoque" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "Localização do estoque" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Locais de estoque" @@ -1530,11 +1533,11 @@ msgstr "Linhas de Produção" #: src/components/render/ModelType.tsx:117 msgid "Build Item" -msgstr "" +msgstr "Criar item" #: src/components/render/ModelType.tsx:118 msgid "Build Items" -msgstr "" +msgstr "Criar itens" #: src/components/render/ModelType.tsx:122 #: src/pages/company/CompanyDetail.tsx:339 @@ -1547,7 +1550,7 @@ msgstr "Empresas" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "Código do Projeto" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Códigos de Projeto" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "Pedido de Compra" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Pedidos de compra" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "Linhas do Pedido de Compra" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "Pedido de Venda" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Pedidos de vendas" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "Envios do Pedido Venda" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Pedido de Devolução" @@ -1624,11 +1627,11 @@ msgstr "Pedidos de Devolução" #: src/components/render/ModelType.tsx:177 msgid "Return Order Line Item" -msgstr "" +msgstr "Devolver item do pedido" #: src/components/render/ModelType.tsx:178 msgid "Return Order Line Items" -msgstr "" +msgstr "Devolver item do pedido" #: src/components/render/ModelType.tsx:182 #: src/tables/company/AddressTable.tsx:47 @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "Endereços" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Contato" @@ -1668,14 +1671,14 @@ msgid "User" msgstr "Usuário" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Usuários" #: src/components/render/ModelType.tsx:210 msgid "Group" -msgstr "" +msgstr "Grupo" #: src/components/render/ModelType.tsx:211 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:20 @@ -1686,18 +1689,18 @@ msgstr "Grupos" #: src/components/render/ModelType.tsx:218 msgid "Import Session" -msgstr "" +msgstr "Importar Sessão" #: src/components/render/ModelType.tsx:219 msgid "Import Sessions" -msgstr "" +msgstr "Importar Sessões" #: src/components/render/ModelType.tsx:225 msgid "Label Template" msgstr "Modelo de Etiqueta" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "Modelos de Etiqueta" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "Modelo de Relatório" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "Modelos de Relatório" @@ -1718,6 +1721,14 @@ msgstr "Configuração de Plugin" msgid "Plugin Configurations" msgstr "Configurações de Plugins" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "Categoria de conteúdo" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "Categorias de conteúdo" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "Remessa" @@ -1725,8 +1736,8 @@ msgstr "Remessa" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Inativo" @@ -1740,30 +1751,31 @@ msgstr "Sem Estoque" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Estoque" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Número de Série" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2211,7 +2223,7 @@ msgstr "Mostrar Caixas" #: src/contexts/LanguageContext.tsx:20 msgid "Arabic" -msgstr "" +msgstr "Árabe" #: src/contexts/LanguageContext.tsx:21 msgid "Bulgarian" @@ -2247,7 +2259,7 @@ msgstr "Espanhol (Mexicano)" #: src/contexts/LanguageContext.tsx:29 msgid "Estonian" -msgstr "" +msgstr "Estoniano" #: src/contexts/LanguageContext.tsx:30 msgid "Farsi / Persian" @@ -2411,7 +2423,7 @@ msgstr "Abrir o menu de navegação principal" #: src/defaults/actions.tsx:72 msgid "Go to the Admin Center" -msgstr "" +msgstr "Ir para o Centro de Administração" #: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" @@ -2508,8 +2520,8 @@ msgstr "Demonstração" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Comprando" @@ -2517,9 +2529,9 @@ msgstr "Comprando" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Vendas" @@ -2610,6 +2622,11 @@ msgstr "Licenças" msgid "User attributes and design settings." msgstr "Atributos de usuário e configurações de design." +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Escaneando" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "Visualização para varredura interativa e várias ações." #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "Próximo número de série" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "Último número de série" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "Remover a saída" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "Concluir Saídas de Produção" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "Saídas de produção foram completadas" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "Sucatear Saídas de Produção" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "Saídas de produção foram sucateadas" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "Cancelar Saídas de Produção" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "Saídas de produção selecionadas serão apagadas" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "Saídas de produção foram canceladas" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "Alocado" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "Local de Origem" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "Alocar Estoque" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "Categoria de peça parental" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "Escolher local" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "Destino do item selecionado" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "Localização padrão da categoria de peça selecionada" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "Localização do estoque recebida selecionada" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "Localização padrão selecionada" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "Ler Código de Barras" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "Definir Localização" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "Atribuir Código em Lote{0}" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" -msgstr "" +msgstr "Ajustar Pacotes" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "Alterar Status" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" -msgstr "" +msgstr "Adicionar observação" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "Remover item da lista" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Localização" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "Armazenar no local padrão" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "Armazenar no destino do item de linha" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "Armazenar com estoque já recebido" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "Código de Lote" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" -msgstr "" +msgstr "Número de série" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "Embalagem" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Estado" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "Anotação" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "Código (SKU)" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "Recebido" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Ações" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "Excluir Itens de Linha" @@ -2919,7 +2968,7 @@ msgstr "Excluir Itens de Linha" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "Adicionar quantidade dada como pacotes e não itens individuais" @@ -2927,98 +2976,103 @@ msgstr "Adicionar quantidade dada como pacotes e não itens individuais" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "Inserir quantidade inicial deste item de estoque" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "Números de Série" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 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:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "Adicionar Item do Estoque" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "Carregando..." -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "Mover para o local padrão" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "Em Estoque" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "Mover" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Adicionar" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "Contar" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "Adicionar Estoque" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "Remover Estoque" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "Transferir Estoque" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "Contar Estoque" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "Mudar estado do estoque" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "Mesclar estoque" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "Excluir Item de Estoque" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "Local de estoque pai" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "Checando se você já está conectado" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Nada selecionado" @@ -3199,7 +3253,7 @@ msgstr "Erro: {0}" #: src/pages/ErrorPage.tsx:23 msgid "An unexpected error has occurred" -msgstr "" +msgstr "Ocorreu um erro inesperado" #: src/pages/ErrorPage.tsx:28 #~ msgid "Sorry, an unexpected error has occurred." @@ -3365,115 +3419,147 @@ msgstr "Entrada manual" msgid "Image Barcode" msgstr "Imagem do Código de Barras" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "Selecionar elementos não conhecidos" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "Múltiplos tipos de objetos selecionados" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "Ações para {0}" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "Escanear Página" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "Esta página pode ser usada para escanear itens continuamente e executar ações sobre eles." -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "Alternar para tela cheia" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "Selecione o método de entrada que você deseja usar para escanear os itens." -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "Entrada" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "Selecionar método de entrada" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "Nada encontrado" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "Dependendo das peças selecionadas as ações serão exibidas aqui. Nem todos os códigos de barras são suportados atualmente." -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "Ação" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "{0} itens selecionados" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "Ações Gerais" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "Peça Pesquisada" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "Abrir Link" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "O histórico é guardado localmente neste navegador." -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "O histórico é mantido no armazenamento local deste navegador. Por isso, ele não será compartilhado com outros usuários ou dispositivos, mas será persistente através de recarregamentos. Você pode selecionar itens no histórico para executar ações neles. Para adicionar itens, digitalize-os na área de entrada." -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "Histórico" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "Excluir o histórico" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Sem histórico" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Item" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Tipo" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Fonte" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Escaneado em" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "Inserir número de série ou dados do item" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "Adicionar Item fictício" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Erro ao obter a câmera" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Erro ao escanear" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Erro ao parar" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Parar escaneamento" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Começar a escanear" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Não está escaneando" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Selecionar Camera" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "Detalhes da Conta" @@ -3530,7 +3616,7 @@ msgstr "A autenticação de múltiplos fatores não está configurada para sua c #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:92 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:407 msgid "Token" -msgstr "" +msgstr "Ficha" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:139 msgid "The following email addresses are associated with your account:" @@ -3590,20 +3676,20 @@ msgstr "Você pode entrar na sua conta usando qualquer uma das seguintes contas #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:368 msgid "Token is used - no actions" -msgstr "" +msgstr "Ficha é usada — nenhuma ação" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:375 msgid "Revoke" -msgstr "" +msgstr "Revogar" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:389 msgid "No tokens configured" -msgstr "" +msgstr "Nenhuma ficha configurada" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3623,11 +3709,11 @@ msgstr "Ativo" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:401 msgid "Expiry" -msgstr "" +msgstr "Vencimento" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:404 msgid "Last Seen" -msgstr "" +msgstr "Visto pela Última Vez" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:65 msgid "bars" @@ -3673,19 +3759,48 @@ msgstr "Carregador" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 -msgid "Data Import" +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "Moeda" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "Taxa" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "Taxas de câmbio atualizadas" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "Erro ao atualizar taxa de câmbio" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "Atualizar taxas de câmbio" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 +msgid "Data Import" +msgstr "Importador de dados" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "Tarefas de segundo plano" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "Relatórios de Erro" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "Moedas" @@ -3693,41 +3808,45 @@ msgstr "Moedas" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "Estados personalizados" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "Unidades personalizadas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "Parâmetros da Peça" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "Parâmetros de Categoria" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "Tipo de Localização" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Máquinas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "Ações Rápidas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "Adicionar novo usuário" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "Opções Avançadas" @@ -3772,26 +3891,26 @@ msgstr "Erros de plugin" msgid "Plugin Settings" msgstr "Configurações da Extensão" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "Trabalhador de fundo não está em execução" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "O serviço de gerenciador de tarefas em segundo plano não está em execução. Entre em contato com o administrador do sistema." -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "Tarefas Pendentes" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "Tarefas Agendadas" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "Tarefas com Falhas" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "Relatórios" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "Balanço" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Ordens de Produções" @@ -3942,41 +4061,41 @@ msgstr "Marcar como não lido" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "IPN" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "Referência" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,51 +4109,45 @@ msgstr "Referência" msgid "Description" msgstr "Descrição" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "Produção Pai" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "Quantidade de Produção" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "Saídas Completas" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "Emitido por" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "Responsável" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "Criado" -#: src/pages/build/BuildDetail.tsx:185 -#: src/pages/part/PartDetail.tsx:269 -#: src/pages/stock/StockDetail.tsx:150 -#~ msgid "View part barcode" -#~ msgstr "View part barcode" - -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 #: src/tables/ColumnRenderers.tsx:212 #: src/tables/part/PartPurchaseOrdersTable.tsx:99 #: src/tables/sales/ReturnOrderLineItemTable.tsx:110 @@ -4042,33 +4155,35 @@ msgstr "Criado" msgid "Target Date" msgstr "Data Prevista" +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "Concluído" + #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "Concluído" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "Local de Origem" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "Qualquer local" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "Local de Destino" @@ -4084,70 +4199,70 @@ msgstr "Local de Destino" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "Detalhes da Produção" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "Itens de linha" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "Saídas Incompletas" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" -msgstr "" +msgstr "Estoque Alocado" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "Estoque Consumido" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "Pedido de Produção Filhos" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" -msgstr "" +msgstr "Resultados do teste" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" -msgstr "" +msgstr "Estatísticas do teste" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "Anexos" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Anotações" @@ -4156,134 +4271,134 @@ msgstr "Anotações" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "Editar Pedido de Produção" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "Editar Pedido de Produção" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "Adicionar Pedido de Produção" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "Cancelar Pedido de Produção" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" -msgstr "" +msgstr "Pedido cancelado" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" -msgstr "" +msgstr "Cancelar este pedido" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" -msgstr "" +msgstr "Manter Pedido de Produção" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" -msgstr "" +msgstr "Colocar este pedido em espera" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" -msgstr "" +msgstr "Pedido colocado em espera" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" -msgstr "" +msgstr "Pedido de produção vencido" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" -msgstr "" +msgstr "Cancelar este pedido" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" -msgstr "" +msgstr "Problemas com o pedido" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" -msgstr "" +msgstr "Completar Pedido de Produção" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" -msgstr "" +msgstr "Marcar este pedido como completo" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" -msgstr "" +msgstr "Pedido concluído" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" -msgstr "" +msgstr "Emitir Pedido" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" -msgstr "" +msgstr "Completar Pedido" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "Ações do Pedido de Produção" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" -msgstr "" +msgstr "Editar pedido" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" -msgstr "" +msgstr "Duplicar pedido" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" -msgstr "" +msgstr "Manter ordem" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "Cancelar pedido" @@ -4309,10 +4424,10 @@ msgstr "Moeda Padrão" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "Fornecedor" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Fabricante" @@ -4332,9 +4447,9 @@ msgstr "Fabricante" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4374,25 +4489,25 @@ msgstr "Editar Empresa" #: src/pages/company/CompanyDetail.tsx:298 msgid "Delete Company" -msgstr "" +msgstr "Excluir Empresa" #: src/pages/company/CompanyDetail.tsx:306 msgid "Company Actions" msgstr "Ações da Empresa" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "Peça Interna" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "Link Externo" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "Detalhes de peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "Parâmetros" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "Fornecedores" @@ -4440,7 +4555,7 @@ msgstr "Ações de peça do Fabricante" msgid "ManufacturerPart" msgstr "Peça do Fabricante" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "Peça do Fabricante" msgid "Pack Quantity" msgstr "Quantidade de embalagens" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "Disponibilidade do fornecedor" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "Disponibilidade Atualizada" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "Disponibilidade" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "Detalhes de Peça do Fornecedor" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "Estoque Recebido" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "Preço do fornecedor" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "Ações de Peças do Fornecedor" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Editar Peça do Fornecedor" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "Excluir Peça do Fornecedor" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Adicionar Peça do Fornecedor" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "Caminho" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "Sub-categorias" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "Editar Categoria da Peça" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "Apagar items" @@ -4573,7 +4688,7 @@ msgstr "Variante de" #: src/pages/part/PartDetail.tsx:170 msgid "Revision of" -msgstr "" +msgstr "Revisão" #: src/pages/part/PartDetail.tsx:177 #: src/tables/stock/StockItemTable.tsx:58 @@ -4604,16 +4719,9 @@ msgstr "Unidades" msgid "Keywords" msgstr "Palavras-chave" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Link" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4621,7 +4729,7 @@ msgstr "Estoque Disponível" #: src/pages/part/PartDetail.tsx:243 msgid "Variant Stock" -msgstr "" +msgstr "Estoque de variante" #: src/pages/part/PartDetail.tsx:251 msgid "Minimum Stock" @@ -4629,234 +4737,239 @@ msgstr "Estoque Mínimo" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "No pedido" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "Necessário para Pedidos" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "Alocado para Pedidos de Construção" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "Alocado para Pedidos de Venda" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "Pode Produzir" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" -msgstr "Produzindo" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" +msgstr "Em Produção" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" -msgstr "" - -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "Modelo de peça" +msgstr "Bloqueado" #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" +msgstr "Modelo de peça" + +#: src/pages/part/PartDetail.tsx:320 #: src/tables/bom/BomTable.tsx:315 msgid "Assembled Part" msgstr "Peça Montada" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" -msgstr "" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" +msgstr "Parte do componente" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "Parte Testável" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "Peça Rastreável" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" -msgstr "" +msgstr "Parte comprável" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" -msgstr "" +msgstr "Parte vendível" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" -msgstr "" +msgstr "Parte Virtual" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "Criado em" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" -msgstr "" +msgstr "Criado por" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Faixa de Preço" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Último Balanço" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" -msgstr "" +msgstr "Inventário por" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" -msgstr "" +msgstr "Detalhes da Peça" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "Variantes" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "Alocações" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "Alocações de Pedido de Produção" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "Alocações do Pedido de Vendas" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "Lista de Materiais" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "Usado em" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" -msgstr "" +msgstr "Preço de Peça" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "Fabricantes" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "Agendamento" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "Testar Modelos" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "Peças Relacionadas" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "Disponível" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" -msgstr "" +msgstr "Sem Estoque" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "Obrigatório" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "No pedido" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "Em Produção" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "Editar Peça" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" -msgstr "" +msgstr "Adicionar Parte" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "Excluir Peça" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "Excluir esta peça não é reversível" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "Ações de Estoque" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "Contagem do estoque" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "Transferir estoque de peça" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "Ações da Peça" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" -msgstr "" +msgstr "Selecionar Revisão de Parte" #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" @@ -4988,7 +5101,7 @@ msgstr "Quebra de Preço" #: src/pages/part/pricing/PriceBreakPanel.tsx:170 msgid "Price" -msgstr "" +msgstr "Preço" #: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" @@ -5015,18 +5128,18 @@ msgid "Overall Pricing" msgstr "Precificação Geral" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "Última Atualização" #: src/pages/part/pricing/PricingOverviewPanel.tsx:192 msgid "Minimum Value" -msgstr "" +msgstr "Valor mínimo" #: src/pages/part/pricing/PricingOverviewPanel.tsx:193 msgid "Maximum Value" -msgstr "" +msgstr "Valor máximo" #: src/pages/part/pricing/PricingPanel.tsx:24 msgid "No data available" @@ -5047,7 +5160,7 @@ msgstr "Carregando dados de preços" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Data" @@ -5075,23 +5188,23 @@ msgstr "Preço do fornecedor" msgid "Variant Part" msgstr "Peça Variante" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "Editar Pedido de Compra" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "Adicionar Ordem de Compra" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "Referencia do fornecedor" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "Itens de Linha Concluídos" @@ -5101,107 +5214,107 @@ msgstr "Itens de Linha Concluídos" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "Moeda do pedido" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "Custo Total" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "Criado em" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "Detalhes do pedido" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" -msgstr "" +msgstr "Itens de linha extra" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" -msgstr "" +msgstr "Emitir Pedido de Compra" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" -msgstr "" +msgstr "Cancelar Pedido de Compra" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" -msgstr "" +msgstr "Reter pedido de compra" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" -msgstr "" +msgstr "Concluir Pedido de Compra" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "Ações de Pedido" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "Referência do Cliente" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "Editar Pedido de Devolução" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "Adicionar Pedido de Devolução" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" -msgstr "" +msgstr "Emitir Pedido de Devolução" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" -msgstr "" +msgstr "Cancelar Pedido de Devolução" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" -msgstr "" +msgstr "Pedido cancelado" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" -msgstr "" +msgstr "Adicionar Pedido de Devolução" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" -msgstr "" +msgstr "Completar Pedido de Devolução" #: src/pages/sales/SalesIndex.tsx:38 msgid "Customers" msgstr "Clientes" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "Envios Concluídos" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "Editar Pedido de Venda" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "Adicionar Pedido de Vendas" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" -msgstr "" +msgstr "Envios" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" -msgstr "" +msgstr "Emitir Pedido de Venda" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "Localização Pai" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "Sub-locais" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "Externo" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "Tipo de Localização" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "Local de estoque de alto nível" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "Detalhes da localização" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "Editar Local de Estoque" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Peça base" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "Rastreamento de Estoque" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "Dados de Teste" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "Itens Instalados" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "Itens Filhos" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "Editar Item do Estoque" @@ -5362,38 +5471,38 @@ msgstr "Editar Item do Estoque" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "Operações de Estoque" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "Contagem de estoque" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "Adicionar estoque" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "Remover estoque" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "Transferir estoque" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "Moeda" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "Atribuído a mim" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "Mostrar pedidos atribuídos a mim" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "Mostrar pedidos pendentes" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "Em atraso" @@ -5483,60 +5587,60 @@ msgstr "Mostrar pedidos atrasados" msgid "Remove filter" msgstr "Remover filtro" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Selecionar filtro" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Filtro" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Valor" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Selecionar valor do filtro" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "Filtros da Tabela" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Adicionar Filtro" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "Limpar Filtros" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "Nenhum registro encontrado" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "O servidor retornou um tipo de dado incorreto" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "Requisição inválida" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "Não autorizado" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "Proibido" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "Não encontrado" @@ -5544,15 +5648,15 @@ msgstr "Não encontrado" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "Essa ação não pode ser desfeita!" @@ -5573,26 +5677,26 @@ msgstr "Essa ação não pode ser desfeita!" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "Ações de código de barras" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "Remover registros selecionados" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "Atualizar dados" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "Filtros da Tabela" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "Informação da Peça" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "Incluir estoque de substitutos" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "Incluir estoque de variantes" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "Produzindo" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "Informação do Estoque" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "Item Consumível" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "Mostrar itens rastreáveis" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "Opcional" @@ -5723,7 +5832,7 @@ msgstr "Mostrar itens opcionais" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "Consumível" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5850,127 +5959,142 @@ msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:55 msgid "Show items allocated to a build output" -msgstr "" +msgstr "Mostrar itens alocados a uma saída da compilação" #: src/tables/build/BuildAllocatedStockTable.tsx:76 #: src/tables/part/PartPurchaseOrdersTable.tsx:125 #: src/tables/sales/SalesOrderAllocationTable.tsx:62 msgid "Order Status" -msgstr "" +msgstr "Situação do pedido" #: src/tables/build/BuildAllocatedStockTable.tsx:96 #: src/tables/sales/SalesOrderAllocationTable.tsx:75 msgid "Allocated Quantity" -msgstr "" +msgstr "Quantidade Alocada" #: src/tables/build/BuildAllocatedStockTable.tsx:116 #: src/tables/sales/SalesOrderAllocationTable.tsx:94 msgid "Available Quantity" -msgstr "" +msgstr "Quantidade Disponível" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" -msgstr "" +msgstr "Saída da Produção" #: src/tables/build/BuildAllocatedStockTable.tsx:143 msgid "Edit Build Item" -msgstr "" +msgstr "Editar Pedido de Produção" #: src/tables/build/BuildAllocatedStockTable.tsx:153 msgid "Delete Build Item" -msgstr "" +msgstr "Excluir Pedido de Produção" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "Alocado" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "Mostrar linhas alocadas" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "Mostrar linhas com estoque disponível" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "Mostrar linhas consumíveis" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "Mostrar linhas opcionais" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" -msgstr "" +msgstr "Testável" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "Monitorado" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" -msgstr "" +msgstr "Mostrar itens monitorados" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "Em produção" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" -msgstr "" +msgstr "Estoque insuficiente" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "Nenhum estoque disponível" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" -msgstr "" +msgstr "Obtém herdados" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "Quantidade Unitária" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" +msgstr "Criar Pedido de Produção" + +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" -msgstr "Alocar Estoque" +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "Pedir estoque" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "Estoque de Produção" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "Mostrar pedidos ativos" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,63 +6102,71 @@ msgstr "" msgid "Filter by order status" msgstr "Filtrar por estado do pedido" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "Mostrar estados atrasados" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" -msgstr "" +msgstr "Filtrar por código de projeto" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" -msgstr "" +msgstr "Tem código do projeto" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" -msgstr "" +msgstr "Filtrar por se a ordem de compra tem um código de projeto" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" -msgstr "" +msgstr "Filtrar por usuário que emitiu este pedido" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" -msgstr "" +msgstr "Filtrar pelo proprietário responsável" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" -msgstr "" +msgstr "Adicionar Resultado de Teste" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" -msgstr "" +msgstr "Resultado do teste adicionado" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" -msgstr "" +msgstr "Nenhum resultado" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" -msgstr "" +msgstr "Mostrar saídas de compilação atualmente em produção" #: src/tables/build/BuildOutputTable.tsx:161 #~ msgid "Delete build output" @@ -6043,47 +6175,47 @@ msgstr "" #: src/tables/build/BuildOutputTable.tsx:173 #: src/tables/build/BuildOutputTable.tsx:211 msgid "Add Build Output" -msgstr "" +msgstr "Adicionar saída da compilação" #: src/tables/build/BuildOutputTable.tsx:216 msgid "Complete selected outputs" -msgstr "" +msgstr "Concluir as saídas selecionadas" #: src/tables/build/BuildOutputTable.tsx:226 msgid "Scrap selected outputs" -msgstr "" +msgstr "Sucatear saídas selecionadas" #: src/tables/build/BuildOutputTable.tsx:236 msgid "Cancel selected outputs" -msgstr "" +msgstr "Cancelar saídas selecionadas" #: src/tables/build/BuildOutputTable.tsx:252 msgid "Allocate" -msgstr "" +msgstr "Alocar" #: src/tables/build/BuildOutputTable.tsx:253 msgid "Allocate stock to build output" -msgstr "" +msgstr "Desalocar estoque da saída de produção" #: src/tables/build/BuildOutputTable.tsx:259 msgid "Deallocate" -msgstr "" +msgstr "Desalocar" #: src/tables/build/BuildOutputTable.tsx:260 msgid "Deallocate stock from build output" -msgstr "" +msgstr "Desalocar estoque da saída de produção" #: src/tables/build/BuildOutputTable.tsx:267 msgid "Complete build output" -msgstr "" +msgstr "Concluir saída de produção" #: src/tables/build/BuildOutputTable.tsx:276 msgid "Scrap" -msgstr "" +msgstr "Sucata" #: src/tables/build/BuildOutputTable.tsx:277 msgid "Scrap build output" -msgstr "" +msgstr "Sucatear saída de produção" #: src/tables/build/BuildOutputTable.tsx:280 #~ msgid "Allocated Items" @@ -6091,19 +6223,19 @@ msgstr "" #: src/tables/build/BuildOutputTable.tsx:287 msgid "Cancel build output" -msgstr "" +msgstr "Cancelar Saídas de Produção" #: src/tables/build/BuildOutputTable.tsx:325 msgid "Batch" -msgstr "" +msgstr "Lote" #: src/tables/build/BuildOutputTable.tsx:340 msgid "Allocated Lines" -msgstr "" +msgstr "Linhas Alocadas" #: src/tables/build/BuildOutputTable.tsx:355 msgid "Required Tests" -msgstr "" +msgstr "Testes Obrigatórios" #: src/tables/company/AddressTable.tsx:121 #: src/tables/company/AddressTable.tsx:185 @@ -6137,19 +6269,19 @@ msgstr "Adicionar Empresa" #: src/tables/company/CompanyTable.tsx:96 msgid "Show active companies" -msgstr "" +msgstr "Mostrar empresas ativas" #: src/tables/company/CompanyTable.tsx:101 msgid "Show companies which are suppliers" -msgstr "" +msgstr "Mostrar empresas que são fornecedores" #: src/tables/company/CompanyTable.tsx:106 msgid "Show companies which are manufacturers" -msgstr "" +msgstr "Mostrar empresas que são fabricantes" #: src/tables/company/CompanyTable.tsx:111 msgid "Show companies which are customers" -msgstr "" +msgstr "Mostrar empresas que são clientes" #: src/tables/company/ContactTable.tsx:71 msgid "Edit Contact" @@ -6185,11 +6317,11 @@ msgstr "Arquivo não pode ser carregado" #: src/tables/general/AttachmentTable.tsx:191 msgid "Upload Attachment" -msgstr "" +msgstr "Carregar Anexo" #: src/tables/general/AttachmentTable.tsx:201 msgid "Edit Attachment" -msgstr "" +msgstr "Editar Anexo" #: src/tables/general/AttachmentTable.tsx:215 msgid "Delete Attachment" @@ -6197,19 +6329,19 @@ msgstr "Excluir Anexo" #: src/tables/general/AttachmentTable.tsx:225 msgid "Is Link" -msgstr "" +msgstr "É um link" #: src/tables/general/AttachmentTable.tsx:226 msgid "Show link attachments" -msgstr "" +msgstr "Mostrar anexos de links" #: src/tables/general/AttachmentTable.tsx:230 msgid "Is File" -msgstr "" +msgstr "É um arquivo" #: src/tables/general/AttachmentTable.tsx:231 msgid "Show file attachments" -msgstr "" +msgstr "Mostrar arquivos anexados" #: src/tables/general/AttachmentTable.tsx:240 msgid "Add attachment" @@ -6229,7 +6361,7 @@ msgstr "Nenhum anexo encontrado" #: src/tables/general/AttachmentTable.tsx:337 msgid "Drag attachment file here to upload" -msgstr "" +msgstr "Arraste o arquivo de anexo aqui para enviar" #: src/tables/general/ExtraLineItemTable.tsx:86 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251 @@ -6254,16 +6386,16 @@ msgstr "Excluir Item de Linha" #: src/tables/general/ExtraLineItemTable.tsx:142 msgid "Add Extra Line Item" -msgstr "" +msgstr "Adicionar Item de Linha Extra" #: src/tables/machine/MachineListTable.tsx:202 msgid "Machine restarted" -msgstr "" +msgstr "Máquina reiniciada" #: src/tables/machine/MachineListTable.tsx:212 #: src/tables/machine/MachineListTable.tsx:263 msgid "Edit machine" -msgstr "" +msgstr "Editar máquina" #: src/tables/machine/MachineListTable.tsx:226 #: src/tables/machine/MachineListTable.tsx:267 @@ -6674,68 +6806,63 @@ msgstr "Não é Virtual" #: src/tables/part/PartTable.tsx:266 msgid "Is Template" -msgstr "" +msgstr "É um modelo" #: src/tables/part/PartTable.tsx:267 msgid "Filter by parts which are templates" -msgstr "" +msgstr "Filtrar por partes que são modelos" #: src/tables/part/PartTable.tsx:272 msgid "Is Revision" -msgstr "" +msgstr "É Revisão" #: src/tables/part/PartTable.tsx:273 msgid "Filter by parts which are revisions" -msgstr "" +msgstr "Filtrar por partes que estão revisões" #: src/tables/part/PartTable.tsx:277 msgid "Has Revisions" -msgstr "" +msgstr "Possui revisão" #: src/tables/part/PartTable.tsx:278 msgid "Filter by parts which have revisions" -msgstr "" +msgstr "Filtrar por partes que tenham revisões" #: src/tables/part/PartTable.tsx:283 msgid "Filter by parts which have pricing information" -msgstr "" +msgstr "Filtrar por peças que tenham informações de preços" #: src/tables/part/PartTable.tsx:289 msgid "Filter by parts which have available stock" -msgstr "" +msgstr "Filtrar por peças que tenham estoque disponível" #: src/tables/part/PartTable.tsx:295 msgid "Filter by parts to which the user is subscribed" -msgstr "" +msgstr "Filtrar por partes em que o usuário está inscrito" #: src/tables/part/PartTable.tsx:300 msgid "Has Stocktake" -msgstr "" +msgstr "Tem Estoque" #: src/tables/part/PartTable.tsx:301 msgid "Filter by parts which have stocktake information" -msgstr "" +msgstr "Filtrar por peças que tenham informações sobre estoques" #: src/tables/part/PartTestTemplateTable.tsx:50 msgid "Test is defined for a parent template part" -msgstr "" +msgstr "O teste é definido para uma parte do modelo pai" #: src/tables/part/PartTestTemplateTable.tsx:64 msgid "Template Details" -msgstr "" +msgstr "Detalhes do modelo" #: src/tables/part/PartTestTemplateTable.tsx:74 msgid "Results" -msgstr "" +msgstr "Resultados" #: src/tables/part/PartTestTemplateTable.tsx:76 msgid "No Results" -msgstr "" - -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" +msgstr "Nenhum Resultado" #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" @@ -6745,15 +6872,15 @@ msgstr "Mostrar testes necessários" #: src/tables/settings/TemplateTable.tsx:167 #: src/tables/settings/TemplateTable.tsx:283 msgid "Enabled" -msgstr "" +msgstr "Ativado" #: src/tables/part/PartTestTemplateTable.tsx:112 msgid "Show enabled tests" -msgstr "" +msgstr "Mostrar testes habilitados" #: src/tables/part/PartTestTemplateTable.tsx:116 msgid "Requires Value" -msgstr "" +msgstr "Requer Valor" #: src/tables/part/PartTestTemplateTable.tsx:117 msgid "Show tests that require a value" @@ -6761,7 +6888,7 @@ msgstr "Mostrar testes que exigem um valor" #: src/tables/part/PartTestTemplateTable.tsx:121 msgid "Requires Attachment" -msgstr "" +msgstr "Requer Anexo" #: src/tables/part/PartTestTemplateTable.tsx:122 msgid "Show tests that require an attachment" @@ -6769,19 +6896,19 @@ msgstr "Mostrar testes que exigem um anexo" #: src/tables/part/PartTestTemplateTable.tsx:126 msgid "Include Inherited" -msgstr "" +msgstr "Incluir Herdados" #: src/tables/part/PartTestTemplateTable.tsx:127 msgid "Show tests from inherited templates" -msgstr "" +msgstr "Mostrar testes de modelos herdados" #: src/tables/part/PartTestTemplateTable.tsx:131 msgid "Has Results" -msgstr "" +msgstr "Possui Resultados" #: src/tables/part/PartTestTemplateTable.tsx:132 msgid "Show tests which have recorded results" -msgstr "" +msgstr "Mostrar testes que tenham resultados gravados" #: src/tables/part/PartTestTemplateTable.tsx:154 #: src/tables/part/PartTestTemplateTable.tsx:237 @@ -6798,19 +6925,19 @@ msgstr "Excluir Modelo de Teste" #: src/tables/part/PartTestTemplateTable.tsx:183 msgid "This action cannot be reversed" -msgstr "" +msgstr "Esta ação não pode ser desfeita" #: src/tables/part/PartTestTemplateTable.tsx:185 msgid "Any tests results associated with this template will be deleted" -msgstr "" +msgstr "Quaisquer resultados de testes associados a este modelo serão excluídos" #: src/tables/part/PartTestTemplateTable.tsx:204 msgid "View Parent Part" -msgstr "" +msgstr "Visualizar parte pai" #: src/tables/part/PartTestTemplateTable.tsx:257 msgid "Part templates cannot be edited, as the part is locked" -msgstr "" +msgstr "Modelos de peça não podem ser editados, pois, a peça está bloqueada" #: src/tables/part/PartThumbTable.tsx:201 msgid "Select" @@ -6854,7 +6981,7 @@ msgstr "Fase" #: src/tables/plugin/PluginListTable.tsx:95 msgid "Plugin with key {pluginKey} not found" -msgstr "" +msgstr "Extensão com chave {pluginKey} não encontrada" #: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" @@ -6888,7 +7015,7 @@ msgstr "Autor" #: src/tables/plugin/PluginListTable.tsx:154 msgid "Plugin is not active" -msgstr "" +msgstr "Extensão não está ativa" #: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" @@ -6896,15 +7023,15 @@ msgstr "Informações do pacote" #: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" -msgstr "" +msgstr "Nome do Pacote" #: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" -msgstr "" +msgstr "Caminho da Instalação" #: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" -msgstr "" +msgstr "Pacote" #: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" @@ -6940,11 +7067,11 @@ msgstr "Confirmar desativação do plugin" #: src/tables/plugin/PluginListTable.tsx:325 msgid "The selected plugin will be activated" -msgstr "" +msgstr "A seguinte extensão está desativada" #: src/tables/plugin/PluginListTable.tsx:326 msgid "The selected plugin will be deactivated" -msgstr "" +msgstr "A seguinte extensão será desativada" #: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" @@ -7000,7 +7127,7 @@ msgstr "Ativar" #: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" -msgstr "" +msgstr "Desinstalar" #: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" @@ -7016,31 +7143,31 @@ msgstr "Plugin instalado com sucesso" #: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" -msgstr "" +msgstr "Desinstalar extensões" #: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" -msgstr "" +msgstr "Confirmar desinstalação de extensão" #: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." -msgstr "" +msgstr "A extensão selecionada será desinstalada." #: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." -msgstr "" +msgstr "Essa ação não pode ser desfeita." #: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" -msgstr "" +msgstr "Extensão desinstalada com sucesso" #: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" -msgstr "" +msgstr "Deletar extensão" #: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" -msgstr "" +msgstr "Excluindo esta configuração de extensão irá remover todas as configurações e dados associados. Tem certeza de que deseja excluir esta extensão?" #: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" @@ -7060,7 +7187,7 @@ msgstr "Instalar Plugin" #: src/tables/plugin/PluginListTable.tsx:544 msgid "Plugin Detail" -msgstr "" +msgstr "Detalhes da extensão" #: src/tables/plugin/PluginListTable.tsx:573 msgid "Sample" @@ -7078,7 +7205,7 @@ msgstr "Instalado" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 msgid "Add Parameter" -msgstr "" +msgstr "Adicionar Parâmetro" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 #~ msgid "Parameter updated" @@ -7119,7 +7246,7 @@ msgstr "Excluir Parâmetro" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:102 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:339 msgid "Import Line Items" -msgstr "" +msgstr "Importar Itens da Linha" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:135 msgid "Part Description" @@ -7173,15 +7300,15 @@ msgstr "Adicionar peça do fornecedor" #: src/tables/purchasing/SupplierPartTable.tsx:188 msgid "Show active supplier parts" -msgstr "" +msgstr "Mostrar peças do fornecedor ativo" #: src/tables/purchasing/SupplierPartTable.tsx:192 msgid "Active Part" -msgstr "" +msgstr "Parte ativa" #: src/tables/purchasing/SupplierPartTable.tsx:193 msgid "Show active internal parts" -msgstr "" +msgstr "Mostrar partes internas ativas" #: src/tables/purchasing/SupplierPartTable.tsx:193 #~ msgid "Supplier part updated" @@ -7189,11 +7316,11 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:197 msgid "Active Supplier" -msgstr "" +msgstr "Fornecedor Ativo" #: src/tables/purchasing/SupplierPartTable.tsx:198 msgid "Show active suppliers" -msgstr "" +msgstr "Mostrar fornecedores ativos" #: src/tables/purchasing/SupplierPartTable.tsx:205 #~ msgid "Supplier part deleted" @@ -7280,21 +7407,29 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" -msgstr "Taxa" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" -msgstr "Taxas de câmbio atualizadas" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" -msgstr "Erro ao atualizar taxa de câmbio" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" -msgstr "Atualizar taxas de câmbio" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" +msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/ro/messages.po b/src/frontend/src/locales/ro/messages.po index a1948bebd2..651e0db526 100644 --- a/src/frontend/src/locales/ro/messages.po +++ b/src/frontend/src/locales/ro/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: ro\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:49\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: ro\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 7ad5f5ae8a..98840b8826 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: ru\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\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" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: ru\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Печать этикеток успешно завершена" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Ошибка" @@ -107,6 +107,10 @@ msgstr "Печать этикеток" msgid "Print Reports" msgstr "Печать отчетов" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Сканировать QR код" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Удалить связанное изображение?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Удалить" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Отменить" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Очистить" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Ошибка формы" @@ -403,19 +407,19 @@ msgstr "Ошибка формы" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Обновить" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Узел" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Загрузка" msgid "No results found" msgstr "Ничего не найдено" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Действия со штрихкодом" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "Показать штрихкод" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Показать штрихкод" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Привязать штрих-код" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Привязать пользовательский штрих-код" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Отвязать штрих-код" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Отвязать пользовательский штрих-код" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Изменить" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Удалить элемент" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Дублировать" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Подробнее" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Неизвестная ошибка" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "Эта панель является условной." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Ссылка" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Информация о версии" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Неизвестный ответ" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Ошибка при получении камеры" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Ошибка при сканировании" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Ошибка при остановке" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Сканирование" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Не сканировать" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Выбрать камеру" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Начать сканирование" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Остановить сканирование" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Сканирования пока не было!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Закрыть модальное окно" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Страницы" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Плагины" @@ -1379,23 +1379,25 @@ msgstr "Нет результатов" msgid "No results available for search query" msgstr "Нет доступных результатов для поискового запроса" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Неизвестная модель: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Детали" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "Категория детали" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Категории деталей" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "На складе" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Складские позиции" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Места хранения" @@ -1547,7 +1550,7 @@ msgstr "Компании" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Заказы на закупку" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Заказы на продажу" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Неактивный" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Остатки" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "Демо" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Покупка" @@ -2517,9 +2529,9 @@ msgstr "Покупка" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Продажи" @@ -2610,6 +2622,11 @@ msgstr "Лицензии" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Сканирование" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "В наличии" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "Добавить Остатки" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "Удалить запасы" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "Перемещение запасов" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "Подсчет остатков" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "Изменить статус запасов" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "Объединить Запасы" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "Удалить складскую позицию" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "Сканировать страницу" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "{0} объектов выбраны" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "Открыть ссылку" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "История" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Нет истории" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Элемент" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Тип" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Источник" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Отсканировано в" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Ошибка при получении камеры" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Ошибка при сканировании" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Ошибка при остановке" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Остановить сканирование" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Начать сканирование" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Не сканировать" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Выбрать камеру" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "Специальная единица" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Заказы на сборку" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "Описание" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "Подробности сборки" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "Внешняя ссылка" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "Добавить категорию детали" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "Ед. изм" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Ссылка" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "Заблокировано" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Ценовой диапазон" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "Убрать фильтрацию" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Выбрать фильтр" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Отфильтровать" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Значение" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Добавить фильтр" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index e60deaeec5..da5b0ba20f 100644 --- a/src/frontend/src/locales/sk/messages.po +++ b/src/frontend/src/locales/sk/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: sk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: sk\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index a14842b320..4fccf0fb50 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: sl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: sl\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index dcc3969acd..9563081009 100644 --- a/src/frontend/src/locales/sr/messages.po +++ b/src/frontend/src/locales/sr/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: sr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: sr-CS\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Grеška" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Skeniraj QR kod" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Greška Obrasca" @@ -403,19 +407,19 @@ msgstr "Greška Obrasca" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Obnovi" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Host" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Učitavanje" msgid "No results found" msgstr "Nema pronađenih rezultata" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Akcije Barkoda" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Vid" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Pogledaj barkod" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Link Barkoda" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Linkuj prilagođeni barkod" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Prekini vezu Barkoda" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Prekini link prilagođenog barkoda" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Izmeni" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Obriši stavku" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Dupliciraj" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Dupliciraj stavku" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Saznaj više" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Nepoznata greška" @@ -965,30 +986,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "Ovaj panel je rezervisan." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Informacije o verziji" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index 102fbd94bd..7a70deaf35 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: sv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: sv-SE\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Utskrift av etiketter lyckades" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Fel" @@ -107,6 +107,10 @@ msgstr "Skriv ut etiketter" msgid "Print Reports" msgstr "Skriv ut rapporter" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Skanna QR-kod" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Vill du ta bort den associerade bilden från denna artikel?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Ta bort" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Avbryt" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Rensa" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "Ett serverfel inträffade" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Formulär fel" @@ -403,19 +407,19 @@ msgstr "Formulär fel" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "Fel finns för ett eller flera formulärfält" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Uppdatera" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Värd" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Laddar" msgid "No results found" msgstr "Inga resultat hittades" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "modelRenderer post krävs för tabeller" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "Inga poster tillgängliga" @@ -863,72 +867,89 @@ msgstr "Importerar poster" msgid "Imported rows" msgstr "Importerade rader" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Streckkods åtgärder" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "Visa streckkod" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Visa" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Visa streckkod" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Länka streckkod" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Länka anpassad streckkod" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Ta bort länk för streckkod" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Ta bort länk för anpassad streckkod" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Redigera" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" -msgstr "" +msgstr "Redigera objekt" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Radera objekt" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "Vänta" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Duplicera" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Duplicera objekt" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "Streckkod" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Läs mer" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Okänt fel" @@ -965,30 +986,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "Denna panel är en platshållare." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "Låg (7%)" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "Medel (15%)" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "Kvartil (25%)" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "Hög (30%)" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "Streckkodsdata:" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "Välj felkorrigeringsnivå" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Länk" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Versionsinformation" @@ -1091,56 +1132,15 @@ msgstr "Det gick inte att hämta licensinformation" msgid "{key} Packages" msgstr "{key} Paket" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Okänt svar" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Fel vid öppning av kamera" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Fel vid skanning" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Fel vid avbrott" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Scannar" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Starta skanning" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Välj kamera" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Starta skanning" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Stoppa skanning" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Inga skanningar ännu!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Stäng fönstret" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Admin-center" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Sidor" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1326,7 +1326,7 @@ msgstr "Notifikationer" #: src/components/nav/NotificationDrawer.tsx:94 msgid "Mark all as read" -msgstr "" +msgstr "Markera alla som lästa" #: src/components/nav/NotificationDrawer.tsx:104 msgid "View all notifications" @@ -1379,23 +1379,25 @@ msgstr "Inga resultat" msgid "No results available for search query" msgstr "Inga resultat tillgängliga för sökfrågan" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Okänd modell: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "Artkel" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Artiklar" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "Testmall för artiklar" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "Artikel Kategori" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Artikelkategorier" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "Lager artikel" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Artikel i lager" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "Lagerplats" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Lagerplats" @@ -1547,7 +1550,7 @@ msgstr "Företag" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "Projektkod" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Projektkoder" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "Inköpsorder" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Inköpsorder" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "Inköpsorderrader" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "Försäljningsorder" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Försäljningsorder" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "Försäljningsorder leveranser" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Returorder" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "Adresser" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Kontakt" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Användare" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Användare" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "Etikettmall" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "Etikettmallar" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "Rapportmall" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "Rapportmallar" @@ -1718,6 +1721,14 @@ msgstr "Plugin-konfiguration" msgid "Plugin Configurations" msgstr "Plugin-konfigurationer" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "Frakt" @@ -1725,8 +1736,8 @@ msgstr "Frakt" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "Inaktiv" @@ -1740,30 +1751,31 @@ msgstr "Inget på lager" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Lagersaldo" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Serienummer" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "Demo" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Inköp" @@ -2517,9 +2529,9 @@ msgstr "Inköp" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Försäljning" @@ -2610,6 +2622,11 @@ msgstr "Licenser" msgid "User attributes and design settings." msgstr "Användarattribut och designinställningar." +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Scannar" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "Visa interaktiv skanning och flera åtgärder." #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "Nästa serienummer" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "Senaste serienummer" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "Ta bort utdata" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "Slutförd produktion" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "Produktion som har slutförts" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "Skrota tillverkad produktion" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "Tillverkad produktion har skrotats" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "Avbryt produktion" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "Vald produktion kommer att raderas" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "Tillverkade produkter har raderats" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "Överordnad kategori" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "Välj plats" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "Skanna streckkod" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "Ändra status" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Åtgärder" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "Serienummer" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "Sammanfoga lager" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "Ta bort lagerartikel" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "Överordnad lagerplats" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "Kontrollerar om du redan är inloggad" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Inget val" @@ -3365,115 +3419,147 @@ msgstr "Manuell inmatning" msgid "Image Barcode" msgstr "Bildstreckkod" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "Valda element är inte kända" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "Flera objekttyper valda" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "Åtgärder för {0}" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "Skanna sida" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "Denna sida kan användas för att kontinuerligt skanna objekt och vidta åtgärder på dem." -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "Växla fullskärm" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "Välj den inmatningsmetod du vill använda för att skanna objekt." -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "Inmatning" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "Välj inmatningsmetod" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "Ingenting hittades" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "Beroende på vilka artiklar som väljs kommer åtgärder att visas här. Alla streckkodstyper stöds inte för närvarande." -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "Åtgärd" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "{0} artiklar valda" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "Allmänna åtgärder" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "Leta upp artikel" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "Öppna länk" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "Historiken lagras lokalt i denna webbläsare." -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "Historiken lagras i den här webbläsarens lokala lagring. Så den kommer inte att delas med andra användare eller andra enheter utan är ihållande genom omladdningar. Du kan välja objekt i historiken för att utföra åtgärder på dem. För att lägga till objekt, skana/ange dem i Inmatningsområdet." -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "Historik" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "Radera historiken" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Ingen historik" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Artikel" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Typ" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Källa" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Skannad den" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "Lägg till dummy artikel" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Fel vid öppning av kamera" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Fel vid skanning" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Fel vid avbrott" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Stoppa skanning" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Starta skanning" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Starta skanning" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Välj kamera" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "Kontouppgifter" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "Lastare" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "Valuta" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "Valutor" @@ -3693,41 +3808,45 @@ msgstr "Valutor" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "Lägg till en ny användare" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "Rapportering" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "Inventering" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Byggordrar" @@ -3942,41 +4061,41 @@ msgstr "Markera som oläst" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "IAN" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "Referens" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,51 +4109,45 @@ msgstr "Referens" msgid "Description" msgstr "Beskrivning" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "Föregående tillverkning" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "Tillverkat antal" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "Slutförd produktion" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "Utfärdad av" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "Ansvarig" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "Skapad" -#: src/pages/build/BuildDetail.tsx:185 -#: src/pages/part/PartDetail.tsx:269 -#: src/pages/stock/StockDetail.tsx:150 -#~ msgid "View part barcode" -#~ msgstr "View part barcode" - -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 #: src/tables/ColumnRenderers.tsx:212 #: src/tables/part/PartPurchaseOrdersTable.tsx:99 #: src/tables/sales/ReturnOrderLineItemTable.tsx:110 @@ -4042,33 +4155,35 @@ msgstr "Skapad" msgid "Target Date" msgstr "Färdigdatum" +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "Slutförd" + #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "Slutförd" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "Alla platser" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "Destinationsplats" @@ -4084,70 +4199,70 @@ msgstr "Destinationsplats" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "Tillverknings Detaljer" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "Radartiklar" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "Ofullständig produktion" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "Allokerat lager" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "Förbrukat lager" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "Underordnad tillverknings order" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "Test resultat" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "Test statistik" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "Bilagor" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Anteckningar" @@ -4156,134 +4271,134 @@ msgstr "Anteckningar" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "Redigera Tillverknings order" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "Redigera Tillverknings order" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "Lägg till Tillverknings order" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "Avbryt Tillverknings order" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "Order avbruten" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "Avbryt denna order" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "Pausa denna order" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "Ordern är pausad" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "Utfärda tillverknings order" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "Utfärda denna order" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "Order utfärdad" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "Slutför tillverknings order" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "Markera denna order som slutförd" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "Order slutförd" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "Utfärda Order" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "Slutför Order" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "Åtgärder Tillverknings order" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "Redigera order" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "Duplicera order" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "Pausa order" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "Avbryt order" @@ -4309,10 +4424,10 @@ msgstr "Standardvaluta" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "Leverantör" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Tillverkare" @@ -4332,9 +4447,9 @@ msgstr "Tillverkare" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4374,25 +4489,25 @@ msgstr "Redigera företag" #: src/pages/company/CompanyDetail.tsx:298 msgid "Delete Company" -msgstr "" +msgstr "Radera företag" #: src/pages/company/CompanyDetail.tsx:306 msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "Parametrar" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "Enheter" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Länk" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "På order" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "Kan tillverkas" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" -msgstr "Under tillverkning" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" +msgstr "Under produktion" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "Låst" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "Mall artikel" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" +msgstr "Mall artikel" + +#: src/pages/part/PartDetail.tsx:320 #: src/tables/bom/BomTable.tsx:315 msgid "Assembled Part" msgstr "Sammansatt artikel" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" -msgstr "Komponent artikel" - #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" -msgstr "Testbar artikel" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" +msgstr "Komponent artikel" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "Testbar artikel" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "Spårbar artikel" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "Köpartikel" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "Försäljningsbar artikel" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "Virtuell artikel" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "Skapad Datum" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "Skapad av" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "Standardleverantör" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Prisintervall" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "Senaste inventering" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "Inventerad av" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "Artikel Detaljer" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "Varianter" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "Allokeringar" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "Tillverknings orderallokeringar" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "Försäljningsorder allokeringar" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "Stycklista" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "Används i" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "Prissättning för artikel" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "Tillverkare" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "Schemaläggning" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "Testmall" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "Relaterade artiklar" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "Tillgänglig" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "Inget på lager" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "På order" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "Under produktion" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "Redigera artikel" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "Lägg till artikel" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "Ta bort artikel" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "Borttagning av denna artikel kan inte återställas" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "Lager åtgärder" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "Räkna artikellager" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "Överför artikellager" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "Artikel åtgärder" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "Välj artikel revision" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "Slutför returorder" @@ -5193,15 +5306,15 @@ msgstr "Slutför returorder" msgid "Customers" msgstr "Kunder" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "Slutförda leveranser" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "Redigera försäljningsorder" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "Ny försäljningsorder" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "Leveranser" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "Avbryt försäljningsorder" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "Pausa försäljningsorder" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "Slutför försäljningsorder" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "Leveransorder" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "Föregående Plats" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "Underplaceringar" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "Extern" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "Typ av plats" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "Högsta nivå lagerplats" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "Platsuppgifter" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "Standard artiklar" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "Redigera lagerplats" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "Radera lagerplats" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "Platsåtgärder" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "Valuta" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "Ta bort filter" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Välj filter" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Värde" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Välj filtervärde" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Lägg till filter" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "Rensa filter" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "Inga resultat hittades" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "Felaktig begäran" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "Ej behörig" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "Otillåten" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "Hittades inte" @@ -5544,15 +5648,15 @@ msgstr "Hittades inte" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "Streckkods åtgärder" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "Uppdatera data" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "Tabellfilter" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "Under tillverkning" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "Visa tillverkat antal som är i produktion" @@ -6732,11 +6864,6 @@ msgstr "Resultat" msgid "No Results" msgstr "Inga resultat" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" +msgstr "Visningsnamn" + +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index 414ff9ade8..b1c15ba88c 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: th\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:51\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: th\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index efbb508e4d..a340e88acb 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -8,23 +8,23 @@ msgstr "" "Language: tr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: tr\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" -msgstr "" +msgstr "Bileşeni oluşturmada hata" #: src/components/Boundary.tsx:14 msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" +msgstr "Bu bileşeni oluştururken bir hata oluştu. Daha fazla bilgi için konsola bakın." #: src/components/DashboardItemProxy.tsx:34 msgid "Title" @@ -32,7 +32,7 @@ msgstr "Başlık" #: src/components/buttons/AdminButton.tsx:80 msgid "Open in admin interface" -msgstr "" +msgstr "Yönetici arayüzünde aç" #: src/components/buttons/CopyButton.tsx:18 #~ msgid "Copy to clipboard" @@ -40,23 +40,23 @@ msgstr "" #: src/components/buttons/CopyButton.tsx:24 msgid "Copied" -msgstr "" +msgstr "Kopyalandı" #: src/components/buttons/CopyButton.tsx:24 msgid "Copy" -msgstr "" +msgstr "Kopyala" #: src/components/buttons/PrintingActions.tsx:93 msgid "Print Label" -msgstr "" +msgstr "Etiket Yazdır" #: src/components/buttons/PrintingActions.tsx:99 msgid "Print" -msgstr "" +msgstr "Yazdır" #: src/components/buttons/PrintingActions.tsx:100 msgid "Label printing completed successfully" -msgstr "" +msgstr "Etiket yazdırma başarıyla tamamlandı" #: src/components/buttons/PrintingActions.tsx:106 #: src/components/buttons/PrintingActions.tsx:144 @@ -69,31 +69,31 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Hata" #: src/components/buttons/PrintingActions.tsx:107 msgid "The label could not be generated" -msgstr "" +msgstr "Etiket üretilemedi" #: src/components/buttons/PrintingActions.tsx:122 msgid "Print Report" -msgstr "" +msgstr "Rapor Yazdır" #: src/components/buttons/PrintingActions.tsx:138 msgid "Generate" -msgstr "" +msgstr "Üret" #: src/components/buttons/PrintingActions.tsx:139 msgid "Report printing completed successfully" -msgstr "" +msgstr "Rapor yazdırma başarıyla tamamlandı" #: src/components/buttons/PrintingActions.tsx:145 msgid "The report could not be generated" -msgstr "" +msgstr "Rapor üretilemedi" #: src/components/buttons/PrintingActions.tsx:173 msgid "Printing Actions" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "QR kodunu tara" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" -msgstr "" +msgstr "Kaldır" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Vazgeç" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -259,7 +263,7 @@ msgstr "" #: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" -msgstr "" +msgstr "Notları düzenle" #: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" @@ -267,7 +271,7 @@ msgstr "" #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" -msgstr "" +msgstr "Kod" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 #~ msgid "Failed to parse error response from server." @@ -312,7 +316,7 @@ msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" -msgstr "" +msgstr "Güncelleneni önizle" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." @@ -360,7 +364,7 @@ msgstr "" #: src/components/errors/GenericErrorPage.tsx:63 msgid "Return to the index page" -msgstr "" +msgstr "Dizin sayfasına dön" #: src/components/errors/NotAuthenticated.tsx:8 msgid "Not Authenticated" @@ -388,14 +392,14 @@ msgstr "" #: src/components/errors/ServerError.tsx:8 msgid "Server Error" -msgstr "" +msgstr "Hatayı Kaydet" #: src/components/errors/ServerError.tsx:9 msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,24 +407,24 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" -msgstr "" +msgstr "Güncelle" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" -msgstr "" +msgstr "Sil" #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 @@ -434,7 +438,7 @@ msgstr "Oturum açıldı" #: src/components/forms/AuthenticationForm.tsx:52 msgid "Logged in successfully" -msgstr "" +msgstr "Başarıyla giriş yapıldı" #: src/components/forms/AuthenticationForm.tsx:52 #~ msgid "Welcome back!" @@ -471,11 +475,11 @@ msgstr "Gelen kutunuzu kontrol edin. Eğer hesabınız varsa giriş yapabilmeniz #: src/components/forms/AuthenticationForm.tsx:75 msgid "Mail delivery failed" -msgstr "" +msgstr "Posta teslimi başarısız oldu" #: src/components/forms/AuthenticationForm.tsx:95 msgid "Or continue with other methods" -msgstr "" +msgstr "Veya başka yöntemlerle devam edin" #: src/components/forms/AuthenticationForm.tsx:106 #: src/components/forms/AuthenticationForm.tsx:227 @@ -485,7 +489,7 @@ msgstr "Kullanıcı Adı" #: src/components/forms/AuthenticationForm.tsx:107 #: src/components/forms/AuthenticationForm.tsx:228 msgid "Your username" -msgstr "" +msgstr "Kullanıcı adınız" #: src/components/forms/AuthenticationForm.tsx:112 #: src/components/forms/AuthenticationForm.tsx:240 @@ -530,23 +534,23 @@ msgstr "Bize bir eposta gönderin" #: src/components/forms/AuthenticationForm.tsx:153 msgid "Use username and password" -msgstr "" +msgstr "Kullanıcı adı ve şifre kullan" #: src/components/forms/AuthenticationForm.tsx:162 msgid "Log In" -msgstr "" +msgstr "Giriş Yap" #: src/components/forms/AuthenticationForm.tsx:164 msgid "Send Email" -msgstr "" +msgstr "E-posta Gönder" #: src/components/forms/AuthenticationForm.tsx:193 msgid "Registration successful" -msgstr "" +msgstr "Kayıt başarılı" #: src/components/forms/AuthenticationForm.tsx:194 msgid "Please confirm your email address to complete the registration" -msgstr "" +msgstr "Kaydı tamamlamak için lütfen e-posta adresinizi doğrulayın" #: src/components/forms/AuthenticationForm.tsx:210 msgid "Input error" @@ -554,32 +558,32 @@ msgstr "Hatalı giriş" #: src/components/forms/AuthenticationForm.tsx:234 msgid "This will be used for a confirmation" -msgstr "" +msgstr "Bu bir doğrulama için kullanılacak" #: src/components/forms/AuthenticationForm.tsx:246 msgid "Password repeat" -msgstr "" +msgstr "Şifreyi tekrarı" #: src/components/forms/AuthenticationForm.tsx:247 msgid "Repeat password" -msgstr "" +msgstr "Şifreyi tekrar girin" #: src/components/forms/AuthenticationForm.tsx:259 #: src/components/forms/AuthenticationForm.tsx:304 msgid "Register" -msgstr "" +msgstr "Kaydol" #: src/components/forms/AuthenticationForm.tsx:265 msgid "Or use SSO" -msgstr "" +msgstr "Veya SSO kullanın" #: src/components/forms/AuthenticationForm.tsx:296 msgid "Don't have an account?" -msgstr "" +msgstr "Bir hesabınız yok mu?" #: src/components/forms/AuthenticationForm.tsx:315 msgid "Go back to login" -msgstr "" +msgstr "Giriş yapma ekranına geri dön" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:67 @@ -591,7 +595,7 @@ msgstr "Sunucu" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -619,7 +623,7 @@ msgstr "Kaydet" #: src/components/forms/InstanceOptions.tsx:43 msgid "Select destination instance" -msgstr "" +msgstr "Hedef örneği seçin" #: src/components/forms/InstanceOptions.tsx:71 msgid "Edit possible host options" @@ -643,35 +647,35 @@ msgstr "Durum: <0>worker ({0}), <1>eklenti{1}" #: src/components/forms/fields/IconField.tsx:81 msgid "No icon selected" -msgstr "" +msgstr "Hiç simge seçilmedi" #: src/components/forms/fields/IconField.tsx:159 msgid "Uncategorized" -msgstr "" +msgstr "Sınıflandırılmamış" #: src/components/forms/fields/IconField.tsx:209 #: src/components/nav/Layout.tsx:70 #: src/tables/part/PartThumbTable.tsx:192 msgid "Search..." -msgstr "" +msgstr "Ara..." #: src/components/forms/fields/IconField.tsx:223 msgid "Select category" -msgstr "" +msgstr "Sınıf seç" #: src/components/forms/fields/IconField.tsx:232 msgid "Select pack" -msgstr "" +msgstr "Paket seç" #: src/components/forms/fields/IconField.tsx:237 msgid "{0} icons" -msgstr "" +msgstr "{0} simge" #: src/components/forms/fields/RelatedModelField.tsx:318 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/tables/Search.tsx:23 msgid "Search" -msgstr "" +msgstr "Ara" #: src/components/forms/fields/RelatedModelField.tsx:319 #: src/components/modals/AboutInvenTreeModal.tsx:81 @@ -682,15 +686,15 @@ msgstr "Yükleniyor" #: src/components/forms/fields/RelatedModelField.tsx:321 msgid "No results found" -msgstr "" +msgstr "Hiçbir şey bulunamadı" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" -msgstr "" +msgstr "Tablolar için gerekli modelRenderer girdisi" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" -msgstr "" +msgstr "Kullanılabilir girdi yok" #: src/components/images/DetailsImage.tsx:252 #~ msgid "Select image" @@ -702,69 +706,69 @@ msgstr "Küçük resim" #: src/components/importer/ImportDataSelector.tsx:170 msgid "Importing Rows" -msgstr "" +msgstr "Satırlar İçe Aktarılıyor" #: src/components/importer/ImportDataSelector.tsx:171 msgid "Please wait while the data is imported" -msgstr "" +msgstr "Veri içe aktarılırken lütfen bekleyin" #: src/components/importer/ImportDataSelector.tsx:188 msgid "An error occurred while importing data" -msgstr "" +msgstr "Veriyi içeri aktarırken bir hata oluştu" #: src/components/importer/ImportDataSelector.tsx:209 msgid "Edit Data" -msgstr "" +msgstr "Veriyi Düzenle" #: src/components/importer/ImportDataSelector.tsx:237 msgid "Delete Row" -msgstr "" +msgstr "Satır Sil" #: src/components/importer/ImportDataSelector.tsx:267 msgid "Row" -msgstr "" +msgstr "Satır" #: src/components/importer/ImportDataSelector.tsx:285 msgid "Row contains errors" -msgstr "" +msgstr "Satırda hatalar var" #: src/components/importer/ImportDataSelector.tsx:326 msgid "Accept" -msgstr "" +msgstr "Kabul et" #: src/components/importer/ImportDataSelector.tsx:359 msgid "Valid" -msgstr "" +msgstr "Geçerli" #: src/components/importer/ImportDataSelector.tsx:360 msgid "Filter by row validation status" -msgstr "" +msgstr "Satır doğrulama durumuna göre süz" #: src/components/importer/ImportDataSelector.tsx:365 #: src/tables/build/BuildOutputTable.tsx:266 msgid "Complete" -msgstr "" +msgstr "Tam" #: src/components/importer/ImportDataSelector.tsx:366 msgid "Filter by row completion status" -msgstr "" +msgstr "Satır tamamlanma durumuna göre süz" #: src/components/importer/ImportDataSelector.tsx:383 msgid "Import selected rows" -msgstr "" +msgstr "Seçlen satırları içe aktar" #: src/components/importer/ImportDataSelector.tsx:398 msgid "Processing Data" -msgstr "" +msgstr "Veri İşleniyor" #: src/components/importer/ImporterColumnSelector.tsx:50 #: src/components/importer/ImporterColumnSelector.tsx:176 msgid "An error occurred" -msgstr "" +msgstr "Bir hata oluştu" #: src/components/importer/ImporterColumnSelector.tsx:62 msgid "Select column, or leave blank to ignore this field." -msgstr "" +msgstr "Sütun seçin veya bu alanı yok saymak için boş bırakın." #: src/components/importer/ImporterColumnSelector.tsx:91 #~ msgid "Select a column from the data file" @@ -780,39 +784,39 @@ msgstr "" #: src/components/importer/ImporterColumnSelector.tsx:182 msgid "Ignore this field" -msgstr "" +msgstr "Bu alanı yok say" #: src/components/importer/ImporterColumnSelector.tsx:196 msgid "Mapping data columns to database fields" -msgstr "" +msgstr "Veri sütunları veritabanı alanları ile eşleştiriliyor" #: src/components/importer/ImporterColumnSelector.tsx:201 msgid "Accept Column Mapping" -msgstr "" +msgstr "Sütun Eşleştirmesini Kabul Et" #: src/components/importer/ImporterColumnSelector.tsx:214 msgid "Database Field" -msgstr "" +msgstr "Veritabanı Alanı" #: src/components/importer/ImporterColumnSelector.tsx:215 msgid "Field Description" -msgstr "" +msgstr "Alan Açıklaması" #: src/components/importer/ImporterColumnSelector.tsx:216 msgid "Imported Column" -msgstr "" +msgstr "İçe Aktarılmış Sütun" #: src/components/importer/ImporterColumnSelector.tsx:217 msgid "Default Value" -msgstr "" +msgstr "Varsayılan Değer" #: src/components/importer/ImporterDrawer.tsx:44 msgid "Upload File" -msgstr "" +msgstr "Dosya Yükle" #: src/components/importer/ImporterDrawer.tsx:45 msgid "Map Columns" -msgstr "" +msgstr "Sütunları Eşleştir" #: src/components/importer/ImporterDrawer.tsx:46 msgid "Import Data" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" -msgstr "" +msgstr "Ögeyi sil" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Devamını Oku" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Bilinmeyen hata" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" +msgstr "Yüksek (%30)" + +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Bağlantı" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1011,7 +1052,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:125 msgid "InvenTree Version" -msgstr "" +msgstr "InvenTree Sürümü" #: src/components/modals/AboutInvenTreeModal.tsx:131 msgid "Commit Hash" @@ -1023,7 +1064,7 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:141 msgid "Commit Branch" -msgstr "" +msgstr "Dalı İşle" #: src/components/modals/AboutInvenTreeModal.tsx:146 #: src/components/modals/ServerInfoModal.tsx:133 @@ -1040,11 +1081,11 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:162 msgid "Links" -msgstr "" +msgstr "Bağlantılar" #: src/components/modals/AboutInvenTreeModal.tsx:168 msgid "InvenTree Documentation" -msgstr "" +msgstr "InvenTree Belgelendirmesi" #: src/components/modals/AboutInvenTreeModal.tsx:169 msgid "View Code on GitHub" @@ -1060,102 +1101,61 @@ msgstr "" #: src/components/modals/AboutInvenTreeModal.tsx:172 msgid "Submit Bug Report" -msgstr "" +msgstr "Hata Raporla" #: src/components/modals/AboutInvenTreeModal.tsx:183 msgid "Copy version information" -msgstr "" +msgstr "Sürüm bilgisini kopyala" #: src/components/modals/AboutInvenTreeModal.tsx:192 #: src/components/modals/ServerInfoModal.tsx:147 msgid "Dismiss" -msgstr "" +msgstr "Kapat" #: src/components/modals/LicenseModal.tsx:39 msgid "No license text available" -msgstr "" +msgstr "Kullanılabilir lisans metni yok" #: src/components/modals/LicenseModal.tsx:46 msgid "No Information provided - this is likely a server issue" -msgstr "" +msgstr "Bir bilgi sağlanmadı - bu muhtemelen bir sunucu sorunu" #: src/components/modals/LicenseModal.tsx:71 msgid "Loading license information" -msgstr "" +msgstr "Lisans bilgisi yükleniyor" #: src/components/modals/LicenseModal.tsx:77 msgid "Failed to fetch license information" -msgstr "" +msgstr "Lisans bilgisi getirilemedi" #: src/components/modals/LicenseModal.tsx:85 msgid "{key} Packages" -msgstr "" +msgstr "{key} Paket" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Bilinmeyen yanıt" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Kamera açılırken hata oluştu" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Tarama sırasında hata" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Durdurma sırasında hata" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Taranıyor" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Taranmıyor" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Kamera Seç" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Taramayı başlat" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Taramayı durdur" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Henüz bir tarama yok!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Pencereyi kapat" #: src/components/modals/ServerInfoModal.tsx:26 #: src/pages/Index/Settings/SystemSettings.tsx:38 msgid "Server" -msgstr "" +msgstr "Sunucu" #: src/components/modals/ServerInfoModal.tsx:32 msgid "Instance Name" -msgstr "" +msgstr "Örnek Adı" #: src/components/modals/ServerInfoModal.tsx:38 msgid "Database" -msgstr "" +msgstr "Veritabanı" #: src/components/modals/ServerInfoModal.tsx:38 #~ msgid "Bebug Mode" @@ -1163,73 +1163,73 @@ msgstr "" #: src/components/modals/ServerInfoModal.tsx:47 msgid "Debug Mode" -msgstr "" +msgstr "Hata Ayıklama Kipi" #: src/components/modals/ServerInfoModal.tsx:50 msgid "Server is running in debug mode" -msgstr "" +msgstr "Sunucu hata ayıklama kipinde çalışıyor" #: src/components/modals/ServerInfoModal.tsx:57 msgid "Docker Mode" -msgstr "" +msgstr "Docker Kipi" #: src/components/modals/ServerInfoModal.tsx:60 msgid "Server is deployed using docker" -msgstr "" +msgstr "Sunucu docker kullanılarak dağıtıldı" #: src/components/modals/ServerInfoModal.tsx:66 msgid "Plugin Support" -msgstr "" +msgstr "Eklenti Desteği" #: src/components/modals/ServerInfoModal.tsx:71 msgid "Plugin support enabled" -msgstr "" +msgstr "Eklenti desteği etkin" #: src/components/modals/ServerInfoModal.tsx:73 msgid "Plugin support disabled" -msgstr "" +msgstr "Eklenti desteği etkisiz" #: src/components/modals/ServerInfoModal.tsx:80 msgid "Server status" -msgstr "" +msgstr "Sunucu durumu" #: src/components/modals/ServerInfoModal.tsx:86 msgid "Healthy" -msgstr "" +msgstr "Sağlıklı" #: src/components/modals/ServerInfoModal.tsx:88 msgid "Issues detected" -msgstr "" +msgstr "Sorunlar saptandı" #: src/components/modals/ServerInfoModal.tsx:97 msgid "Background Worker" -msgstr "" +msgstr "Arkaplan işçisi" #: src/components/modals/ServerInfoModal.tsx:101 msgid "Background worker not running" -msgstr "" +msgstr "Arkaplan işçisi çalışmıyor" #: src/components/modals/ServerInfoModal.tsx:109 msgid "Email Settings" -msgstr "" +msgstr "E-posta Ayarları" #: src/components/modals/ServerInfoModal.tsx:113 msgid "Email settings not configured" -msgstr "" +msgstr "E-posta ayarları yapılandırılmadı" #: src/components/modals/ServerInfoModal.tsx:121 #: src/tables/plugin/PluginListTable.tsx:144 #: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" -msgstr "" +msgstr "Sürüm" #: src/components/modals/ServerInfoModal.tsx:127 msgid "Server Version" -msgstr "" +msgstr "Sunucu Sürümü" #: src/components/nav/Layout.tsx:73 msgid "Nothing found..." -msgstr "" +msgstr "Hiçbir şey bulunmadı..." #: src/components/nav/MainMenu.tsx:40 #: src/pages/Index/Profile/Profile.tsx:15 @@ -1250,7 +1250,7 @@ msgstr "Hesap ayarları" #: src/defaults/menuItems.tsx:58 #: src/pages/Index/Settings/SystemSettings.tsx:315 msgid "System Settings" -msgstr "" +msgstr "Sistem Ayarları" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -1262,14 +1262,14 @@ msgstr "" #: src/components/nav/MainMenu.tsx:77 msgid "Change Color Mode" -msgstr "" +msgstr "Renk Kipini Değiştir" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" -msgstr "" +msgstr "Yönetici Merkezi" #: src/components/nav/MainMenu.tsx:96 msgid "Logout" @@ -1291,7 +1291,7 @@ msgstr "Başlayın" #: src/components/nav/NavHoverMenu.tsx:103 msgid "Overview over high-level objects, functions and possible usecases." -msgstr "" +msgstr "Yüksek-düzey nesnelere, işlevlere ve olası kullanım durumlarına genel bakış." #: src/components/nav/NavigationDrawer.tsx:57 msgid "Navigation" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Sayfalar" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Eklentiler" @@ -1326,26 +1326,26 @@ msgstr "Bildirimler" #: src/components/nav/NotificationDrawer.tsx:94 msgid "Mark all as read" -msgstr "" +msgstr "Hepsini okundu olarak imle" #: src/components/nav/NotificationDrawer.tsx:104 msgid "View all notifications" -msgstr "" +msgstr "Tüm bildirimleri görüntüle" #: src/components/nav/NotificationDrawer.tsx:123 msgid "You have no unread notifications." -msgstr "" +msgstr "Okunmamış bildiriminiz yok." #: src/components/nav/NotificationDrawer.tsx:139 #: src/components/nav/NotificationDrawer.tsx:145 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" -msgstr "" +msgstr "Bildirim" #: src/components/nav/NotificationDrawer.tsx:168 #: src/pages/Notifications.tsx:73 msgid "Mark as read" -msgstr "" +msgstr "Okundu olarak imle" #: src/components/nav/SearchDrawer.tsx:78 msgid "results" @@ -1379,23 +1379,25 @@ msgstr "Sonuç yok" msgid "No results available for search query" msgstr "Arama sorgusu için sonuç yok" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" -msgstr "" +msgstr "Bilinmeyen model: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,35 +1414,35 @@ msgstr "Parça" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Parçalar" #: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" -msgstr "" +msgstr "Parça Parametre Şablonu" #: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" -msgstr "" +msgstr "Parça Parametre Şablonları" #: src/components/render/ModelType.tsx:38 msgid "Part Test Template" -msgstr "" +msgstr "Parça Test Şablonu" #: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" -msgstr "" +msgstr "Parça Test Şablonları" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" -msgstr "" +msgstr "Sağlayıcı Parçası" #: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" @@ -1450,7 +1452,7 @@ msgstr "Tedarikçi Parçaları" #: src/pages/company/ManufacturerPartDetail.tsx:132 #: src/tables/part/PartPurchaseOrdersTable.tsx:55 msgid "Manufacturer Part" -msgstr "" +msgstr "Üretici Parçası" #: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" @@ -1459,66 +1461,67 @@ msgstr "Üretici Parçaları" #: src/components/render/ModelType.tsx:63 #: src/pages/part/CategoryDetail.tsx:305 msgid "Part Category" -msgstr "" +msgstr "Parça Sınıfı" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Parça Kategorileri" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" -msgstr "" +msgstr "Stok Ögesi" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Stok Kalemleri" #: src/components/render/ModelType.tsx:81 msgid "Stock Location" -msgstr "" +msgstr "Stok Konumu" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Stok Konumları" #: src/components/render/ModelType.tsx:90 msgid "Stock Location Type" -msgstr "" +msgstr "Stok Konum Türü" #: src/components/render/ModelType.tsx:91 msgid "Stock Location Types" -msgstr "" +msgstr "Stok Konum Türleri" #: src/components/render/ModelType.tsx:95 msgid "Stock History" -msgstr "" +msgstr "Stok Geçmişi" #: src/components/render/ModelType.tsx:96 msgid "Stock Histories" -msgstr "" +msgstr "Stok Geçmişleri" #: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:43 msgid "Build" -msgstr "" +msgstr "Yap" #: src/components/render/ModelType.tsx:101 msgid "Builds" -msgstr "" +msgstr "Yapılar" #: src/components/render/ModelType.tsx:109 msgid "Build Line" @@ -1547,7 +1550,7 @@ msgstr "Şirketler" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "Proje Kodu" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Satış Emirleri" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Kullanıcı" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "İçerik Türleri" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Stok" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -1796,7 +1808,7 @@ msgstr "" #: src/components/settings/SettingList.tsx:162 msgid "No settings specified" -msgstr "" +msgstr "Ayar belirtilmemiş" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -2163,11 +2175,11 @@ msgstr "Dil" #: src/components/widgets/FeedbackWidget.tsx:19 msgid "Something is new: Platform UI" -msgstr "" +msgstr "Bir yenilik var: Platform UI" #: src/components/widgets/FeedbackWidget.tsx:21 msgid "We are building a new UI with a modern stack. What you currently see is not fixed and will be redesigned but demonstrates the UI/UX possibilities we will have going forward." -msgstr "" +msgstr "Çağdaş bir stack ile yeni bir kullanıcı arayüzü yapıyoruz. Görmekte olduğunuz şey kalıcı değildir ve yeniden tasarlanacaktır. Ancak geliştirmekte olduğumuz Kullanıcı Arayüzü / Kullanıcı Deneyimi olasılıklarını göstermektedir." #: src/components/widgets/FeedbackWidget.tsx:32 msgid "Provide Feedback" @@ -2243,115 +2255,115 @@ msgstr "" #: src/contexts/LanguageContext.tsx:28 msgid "Spanish (Mexican)" -msgstr "" +msgstr "İspanyolca (Meksika)" #: src/contexts/LanguageContext.tsx:29 msgid "Estonian" -msgstr "" +msgstr "Estonca" #: src/contexts/LanguageContext.tsx:30 msgid "Farsi / Persian" -msgstr "" +msgstr "Farsça" #: src/contexts/LanguageContext.tsx:31 msgid "Finnish" -msgstr "" +msgstr "Fince" #: src/contexts/LanguageContext.tsx:32 msgid "French" -msgstr "" +msgstr "Fransızca" #: src/contexts/LanguageContext.tsx:33 msgid "Hebrew" -msgstr "" +msgstr "İbranice" #: src/contexts/LanguageContext.tsx:34 msgid "Hindi" -msgstr "" +msgstr "Hintçe" #: src/contexts/LanguageContext.tsx:35 msgid "Hungarian" -msgstr "" +msgstr "Macarca" #: src/contexts/LanguageContext.tsx:36 msgid "Italian" -msgstr "" +msgstr "İtalyanca" #: src/contexts/LanguageContext.tsx:37 msgid "Japanese" -msgstr "" +msgstr "Japonca" #: src/contexts/LanguageContext.tsx:38 msgid "Korean" -msgstr "" +msgstr "Korece" #: src/contexts/LanguageContext.tsx:39 msgid "Latvian" -msgstr "" +msgstr "Letonca" #: src/contexts/LanguageContext.tsx:40 msgid "Dutch" -msgstr "" +msgstr "Flemenkçe" #: src/contexts/LanguageContext.tsx:41 msgid "Norwegian" -msgstr "" +msgstr "Norveççe" #: src/contexts/LanguageContext.tsx:42 msgid "Polish" -msgstr "" +msgstr "Lehçe" #: src/contexts/LanguageContext.tsx:43 msgid "Portuguese" -msgstr "" +msgstr "Portekizce" #: src/contexts/LanguageContext.tsx:44 msgid "Portuguese (Brazilian)" -msgstr "" +msgstr "Portekizce (Brezilya)" #: src/contexts/LanguageContext.tsx:45 msgid "Romanian" -msgstr "" +msgstr "Rumence" #: src/contexts/LanguageContext.tsx:46 msgid "Russian" -msgstr "" +msgstr "Rusça" #: src/contexts/LanguageContext.tsx:47 msgid "Slovak" -msgstr "" +msgstr "Slovakça" #: src/contexts/LanguageContext.tsx:48 msgid "Slovenian" -msgstr "" +msgstr "Slovence" #: src/contexts/LanguageContext.tsx:49 msgid "Swedish" -msgstr "" +msgstr "İsveççe" #: src/contexts/LanguageContext.tsx:50 msgid "Thai" -msgstr "" +msgstr "Tayca" #: src/contexts/LanguageContext.tsx:51 msgid "Turkish" -msgstr "" +msgstr "Türkçe" #: src/contexts/LanguageContext.tsx:52 msgid "Ukrainian" -msgstr "" +msgstr "Ukraynaca" #: src/contexts/LanguageContext.tsx:53 msgid "Vietnamese" -msgstr "" +msgstr "Vietnamca" #: src/contexts/LanguageContext.tsx:54 msgid "Chinese (Simplified)" -msgstr "" +msgstr "Çince (Basitleştirilmiş)" #: src/contexts/LanguageContext.tsx:55 msgid "Chinese (Traditional)" -msgstr "" +msgstr "Çince (Geleneksel)" #: src/defaults/actions.tsx:18 #: src/defaults/links.tsx:27 @@ -2369,17 +2381,17 @@ msgstr "Panel" #: src/defaults/actions.tsx:26 msgid "Go to the InvenTree dashboard" -msgstr "" +msgstr "InvenTree Gösterge Paneline Git" #: src/defaults/actions.tsx:33 msgid "Visit the documentation to learn more about InvenTree" -msgstr "" +msgstr "InvenTree hakkında daha fazla öğrenmek için belgelendirmeyi ziyaret edin" #: src/defaults/actions.tsx:39 #: src/defaults/links.tsx:98 #: src/defaults/links.tsx:128 msgid "About InvenTree" -msgstr "" +msgstr "InvenTree Hakkında" #: src/defaults/actions.tsx:40 #: src/defaults/links.tsx:129 @@ -2388,38 +2400,38 @@ msgstr "InvenTree org hakkında" #: src/defaults/actions.tsx:46 msgid "Server Information" -msgstr "" +msgstr "Sunucu Bilgisi" #: src/defaults/actions.tsx:47 #: src/defaults/links.tsx:123 msgid "About this Inventree instance" -msgstr "" +msgstr "Bu InvenTree örneği hakkında" #: src/defaults/actions.tsx:53 #: src/defaults/links.tsx:111 msgid "License Information" -msgstr "" +msgstr "Lisans Bilgisi" #: src/defaults/actions.tsx:54 #: src/defaults/links.tsx:135 msgid "Licenses for dependencies of the service" -msgstr "" +msgstr "Servisin bağımlılıkları için lisanslar" #: src/defaults/actions.tsx:61 msgid "Open the main navigation menu" -msgstr "" +msgstr "Ana gezinme menüsünü aç" #: src/defaults/actions.tsx:72 msgid "Go to the Admin Center" -msgstr "" +msgstr "Yönetim Merkezine Git" #: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" -msgstr "" +msgstr "Abone Olunan Parçalar" #: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" -msgstr "" +msgstr "Abone Olunan Sınıflar" #: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" @@ -2427,7 +2439,7 @@ msgstr "Son Parçalar" #: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" -msgstr "" +msgstr "BOM Doğrulama Bekliyor" #: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" @@ -2444,39 +2456,39 @@ msgstr "Tükenmiş Stok" #: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" -msgstr "" +msgstr "Yapı Siparişleri için Gerekli" #: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" -msgstr "" +msgstr "Süresi Dolmuş Stok" #: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" -msgstr "" +msgstr "Eskimiş Stok" #: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" -msgstr "" +msgstr "Devam Eden Yapım Siparişleri" #: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" -msgstr "" +msgstr "Geciken Yapım Siparişleri" #: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" -msgstr "" +msgstr "Bekleyen Satın Alma Siparişleri" #: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" -msgstr "" +msgstr "Geciken Satın Alma Siparişleri" #: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" -msgstr "" +msgstr "Bekleyen Satış Siparişleri" #: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" -msgstr "" +msgstr "Geciken Satış Siparişleri" #: src/defaults/dashboardItems.tsx:127 msgid "Current News" @@ -2508,26 +2520,26 @@ msgstr "Demo" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" -msgstr "" +msgstr "Satın Alınıyor" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" -msgstr "" +msgstr "Satışlar" #: src/defaults/links.tsx:41 #: src/defaults/menuItems.tsx:71 #: src/pages/Index/Playground.tsx:217 msgid "Playground" -msgstr "" +msgstr "Oyun Alanı" #: src/defaults/links.tsx:55 msgid "Getting Started" @@ -2610,6 +2622,11 @@ msgstr "Lisanslar" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Taranıyor" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "Kaynak Konum" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Durum" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Eylemler" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,100 +2976,105 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" -msgstr "" +msgstr "Stoğu Aktar" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" -msgstr "" +msgstr "Stoğu Say" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" -msgstr "" +msgstr "Stok Durumunu Değiştir" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" -msgstr "" +msgstr "Stoüu Birleştir" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" -msgstr "" +msgstr "Stok Ögelerini Sil" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" -msgstr "" +msgstr "Üst stok konumu" #: src/functions/auth.tsx:34 #~ msgid "Error fetching token from server." @@ -3044,11 +3098,11 @@ msgstr "" #: src/functions/auth.tsx:117 msgid "Logged Out" -msgstr "" +msgstr "Çıkış Yapıldı" #: src/functions/auth.tsx:118 msgid "Successfully logged out" -msgstr "" +msgstr "Başarıyla çıkış yapıldı" #: src/functions/auth.tsx:141 #~ msgid "Already logged in" @@ -3064,20 +3118,20 @@ msgstr "" #: src/functions/auth.tsx:156 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." -msgstr "" +msgstr "Bir sıfırlama bağlantısı için gelen kutunuzu veya spam kutunuzu yoklayın. Bu yalnızca bir hesabınız varsa çalışacaktır." #: src/functions/auth.tsx:163 #: src/pages/Auth/Set-Password.tsx:39 msgid "Reset failed" -msgstr "" +msgstr "Sıfırlama başarısız" #: src/functions/auth.tsx:194 msgid "Logged In" -msgstr "" +msgstr "Giriş Yapıldı" #: src/functions/auth.tsx:195 msgid "Successfully logged in" -msgstr "" +msgstr "Başarıyla giriş yapıldı" #: src/functions/forms.tsx:50 #~ msgid "Form method not provided" @@ -3097,50 +3151,50 @@ msgstr "" #: src/functions/notifications.tsx:10 msgid "Not implemented" -msgstr "" +msgstr "Gerçeklenmemiş" #: src/functions/notifications.tsx:11 msgid "This feature is not yet implemented" -msgstr "" +msgstr "Bu özellik henüz gerçeklenmemiş" #: src/functions/notifications.tsx:21 msgid "Permission denied" -msgstr "" +msgstr "İzin reddedildi" #: src/functions/notifications.tsx:22 msgid "You do not have permission to perform this action" -msgstr "" +msgstr "Bu eylemi gerçekleştirme izniniz yok" #: src/functions/notifications.tsx:33 msgid "Invalid Return Code" -msgstr "" +msgstr "Geçersiz Dönüş Kodu" #: src/functions/notifications.tsx:34 msgid "Server returned status {returnCode}" -msgstr "" +msgstr "Sunucu {returnCode} durumunu döndürdü" #: src/hooks/UseForm.tsx:88 msgid "Item Created" -msgstr "" +msgstr "Öge Oluşturuldu" #: src/hooks/UseForm.tsx:105 msgid "Item Updated" -msgstr "" +msgstr "Öge Güncellendi" #: src/hooks/UseForm.tsx:124 msgid "Item Deleted" -msgstr "" +msgstr "Öge Silindi" #: src/hooks/UseForm.tsx:128 msgid "Are you sure you want to delete this item?" -msgstr "" +msgstr "Bu ögeyi silmek istediğinize emin misiniz?" #: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "Zaten giriş yapıp yapmadığınız kontrol ediliyor" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Seçim yok" @@ -3150,7 +3204,7 @@ msgstr "Hoşgeldiniz, aşağıdan giriş yapın" #: src/pages/Auth/Login.tsx:89 msgid "Register below" -msgstr "" +msgstr "Aşağıda kaydolun" #: src/pages/Auth/Login.tsx:121 #~ msgid "Edit host options" @@ -3158,7 +3212,7 @@ msgstr "" #: src/pages/Auth/Logout.tsx:22 msgid "Logging out" -msgstr "" +msgstr "Çıkış yapılıyor" #: src/pages/Auth/Reset.tsx:41 #: src/pages/Auth/Set-Password.tsx:112 @@ -3171,15 +3225,15 @@ msgstr "Geçersiz token" #: src/pages/Auth/Set-Password.tsx:31 msgid "You need to provide a valid token to set a new password. Check your inbox for a reset link." -msgstr "" +msgstr "Yeni bir şifre belirlemek için geçerli bir jeton sağlamanız gerekir. Bir sıfırlama bağlantısı için gelen kutunuzu yoklayın." #: src/pages/Auth/Set-Password.tsx:49 msgid "No token provided" -msgstr "" +msgstr "Hiç jeton sağlanmamış" #: src/pages/Auth/Set-Password.tsx:50 msgid "You need to provide a token to set a new password. Check your inbox for a reset link." -msgstr "" +msgstr "Yeni bir şifre belirlemek için bir jeton sağlamanız gerekir. Bir sıfırlama bağlantısı için gelen kutunuzu yoklayın." #: src/pages/Auth/Set-Password.tsx:73 msgid "Password set" @@ -3199,7 +3253,7 @@ msgstr "Hata: {0}" #: src/pages/ErrorPage.tsx:23 msgid "An unexpected error has occurred" -msgstr "" +msgstr "Beklenmeyen bir hata oluştu" #: src/pages/ErrorPage.tsx:28 #~ msgid "Sorry, an unexpected error has occurred." @@ -3211,15 +3265,15 @@ msgstr "Otomatik güncelleme" #: src/pages/Index/Dashboard.tsx:26 msgid "This page is a replacement for the old start page with the same information. This page will be deprecated and replaced by the home page." -msgstr "" +msgstr "Bu sayfa, aynı bilgileri içeren eski başlangıç ​​sayfasının yerine geçmiştir. Bu sayfa kullanımdan kaldırılacak ve yerini ana sayfa alacaktır." #: src/pages/Index/Home.tsx:58 msgid "Welcome to your Dashboard{0}" -msgstr "" +msgstr "Gösterge panelinize hoşgeldiniz {0}" #: src/pages/Index/Playground.tsx:222 msgid "This page is a showcase for the possibilities of Platform UI." -msgstr "" +msgstr "Bu sayfa Platform Kullanıcı Arayüzü olanaklarının bir vitrinidir." #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -3359,121 +3413,153 @@ msgstr "" #: src/pages/Index/Scan.tsx:216 msgid "Manual input" -msgstr "" +msgstr "Elle giriş" #: src/pages/Index/Scan.tsx:217 msgid "Image Barcode" -msgstr "" - -#: src/pages/Index/Scan.tsx:247 -msgid "Selected elements are not known" -msgstr "" - -#: src/pages/Index/Scan.tsx:254 -msgid "Multiple object types selected" -msgstr "" +msgstr "Resim Barkod" #: src/pages/Index/Scan.tsx:261 +msgid "Selected elements are not known" +msgstr "Seçilen elemanlar bilinmiyor" + +#: src/pages/Index/Scan.tsx:268 +msgid "Multiple object types selected" +msgstr "Birden çok nesne türü seçildi" + +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" -msgstr "" +msgstr "{0} için eylemler" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" -msgstr "" +msgstr "Tarama Sayfası" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." -msgstr "" +msgstr "Bu sayfa, öğelerin sürekli olarak taranması ve bunlar üzerinde işlem yapılması için kullanılabilir." -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" -msgstr "" +msgstr "Tam Ekrana Geç" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." -msgstr "" +msgstr "Ögeleri taramak için kullanmak istediğiniz giriş yöntemini seçiniz." -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" -msgstr "" +msgstr "Giriş" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" -msgstr "" +msgstr "Giriş yöntemini seçiniz" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" -msgstr "" - -#: src/pages/Index/Scan.tsx:323 -msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." -msgstr "" - -#: src/pages/Index/Scan.tsx:325 -msgid "Action" -msgstr "" - -#: src/pages/Index/Scan.tsx:334 -msgid "{0} items selected" -msgstr "" +msgstr "Hiçbir şey bulunamadı" #: src/pages/Index/Scan.tsx:337 -msgid "General Actions" -msgstr "" +msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." +msgstr "Seçilen parçalara bağlı olarak eylemler burada gösterilecektir. Şu anda tüm barkod türleri desteklenmemektedir." + +#: src/pages/Index/Scan.tsx:339 +msgid "Action" +msgstr "Eylem" + +#: src/pages/Index/Scan.tsx:348 +msgid "{0} items selected" +msgstr "{0} öge seçildi" #: src/pages/Index/Scan.tsx:351 +msgid "General Actions" +msgstr "Genel Eylemler" + +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" -msgstr "" +msgstr "Parça ara" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" -msgstr "" +msgstr "Bağlantı Aç" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." -msgstr "" +msgstr "Geçmiş yerel olarak bu tarayıcıda tutulmaktadır." -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Kamera açılırken hata oluştu" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Tarama sırasında hata" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Durdurma sırasında hata" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Taramayı durdur" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Taramayı başlat" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Taranmıyor" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Kamera Seç" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "Yükleyici" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,64 +3808,68 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 -msgid "Custom Units" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Custom Units" +msgstr "Özel Birimler" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" -msgstr "" +msgstr "Parça Parametreleri" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" -msgstr "" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" +msgstr "Sınıf Parametreleri" #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 -#: src/tables/machine/MachineTypeTable.tsx:287 -msgid "Machines" -msgstr "" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "Konum Türleri" #: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/tables/machine/MachineTypeTable.tsx:287 +msgid "Machines" +msgstr "Makineler" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" -msgstr "" +msgstr "Hızlı Eylemler" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" -msgstr "" +msgstr "Yeni bir kullanıcı ekle" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" -msgstr "" +msgstr "Gelişmiş Seçenekler" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:43 msgid "Machine types" -msgstr "" +msgstr "Makine türleri" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:53 msgid "Machine Error Stack" -msgstr "" +msgstr "Makine Hata Yığını" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:62 msgid "There are no machine registry errors." -msgstr "" +msgstr "Herhangi bir makine kayıt hatası yok." #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:28 #: src/tables/settings/UserTable.tsx:119 msgid "Info" -msgstr "" +msgstr "Bilgi" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:32 msgid "External plugins are not enabled for this InvenTree installation." -msgstr "" +msgstr "Bu InvenTree kurulumu için harici eklentiler etkinleştirilmedi." #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:33 #~ msgid "Plugin Error Stack" @@ -3766,34 +3885,34 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:50 msgid "Plugin Errors" -msgstr "" +msgstr "Eklenti Hataları" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:59 msgid "Plugin Settings" -msgstr "" +msgstr "Eklenti Ayarları" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" -msgstr "" +msgstr "Arka plan İşçisi Çalışmıyor" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." -msgstr "" +msgstr "Arka plan görev yöneticisi hizmeti çalışmıyor. Sistem yöneticinizle iletişime geçin." -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" -msgstr "" +msgstr "Bekleyen Görevler" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" -msgstr "" +msgstr "Planlanmış Görevler" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" -msgstr "" +msgstr "Başarısız Görevler" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 #~ msgid "Label" @@ -3838,23 +3957,23 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:32 msgid "Select settings relevant for user lifecycle. More available in" -msgstr "" +msgstr "Kullanıcı yaşam döngüsüyle ilgili ayarları seçin. Daha fazlası şurada mevcut:" #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:37 msgid "System settings" -msgstr "" +msgstr "Sistem ayarları" #: src/pages/Index/Settings/SystemSettings.tsx:67 msgid "Login" -msgstr "" +msgstr "Giriş" #: src/pages/Index/Settings/SystemSettings.tsx:93 msgid "Barcodes" -msgstr "" +msgstr "Barkodlar" #: src/pages/Index/Settings/SystemSettings.tsx:115 msgid "Pricing" -msgstr "" +msgstr "Fiyatlandırma" #: src/pages/Index/Settings/SystemSettings.tsx:118 #~ msgid "Physical Units" @@ -3866,49 +3985,49 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:150 msgid "Labels" -msgstr "" +msgstr "Etiketler" #: src/pages/Index/Settings/SystemSettings.tsx:156 #: src/pages/Index/Settings/UserSettings.tsx:132 msgid "Reporting" -msgstr "" +msgstr "Raporlama" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" -msgstr "" +msgstr "Stok Sayımı" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Yapım İşi Emirleri" #: src/pages/Index/Settings/SystemSettings.tsx:318 msgid "Switch to User Setting" -msgstr "" +msgstr "Kullanıcı Ayarına Geç" #: src/pages/Index/Settings/UserSettings.tsx:34 msgid "Account" -msgstr "" +msgstr "Hesap" #: src/pages/Index/Settings/UserSettings.tsx:40 msgid "Security" -msgstr "" +msgstr "Güvenlik" #: src/pages/Index/Settings/UserSettings.tsx:78 msgid "Display Options" -msgstr "" +msgstr "Görüntüleme Seçenekleri" #: src/pages/Index/Settings/UserSettings.tsx:150 msgid "Account Settings" -msgstr "" +msgstr "Hesap Ayarları" #: src/pages/Index/Settings/UserSettings.tsx:158 msgid "Switch to System Setting" -msgstr "" +msgstr "Sistem Ayarına Geç" #: src/pages/Index/UserSettings.tsx:103 #~ msgid "User Settings" @@ -3932,51 +4051,51 @@ msgstr "" #: src/pages/Notifications.tsx:43 msgid "Delete Notifications" -msgstr "" +msgstr "Bildirimleri Sil" #: src/pages/Notifications.tsx:108 msgid "Mark as unread" -msgstr "" +msgstr "Okunmadı olarak imle" #: src/pages/build/BuildDetail.tsx:80 #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "DPN" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" -msgstr "" +msgstr "Referans" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,40 +4109,51 @@ msgstr "" msgid "Description" msgstr "Açıklama" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" -msgstr "" +msgstr "Üst Yapı" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" -msgstr "" +msgstr "Yapı Miktarı" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" -msgstr "" +msgstr "Tamamlanan Çıkışlar" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" -msgstr "" +msgstr "Veren" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" -msgstr "" +msgstr "Sorumlu" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" -msgstr "" +msgstr "Oluşturuldu" + +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "Hedef Tarih" #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 @@ -4031,46 +4161,31 @@ msgstr "" #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" -msgstr "" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "Tamamlandı" #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:202 +msgid "Any location" +msgstr "Herhangi bir konum" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 -msgid "Any location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" -msgstr "" +msgstr "Hedef Konum" #: src/pages/build/BuildDetail.tsx:221 #~ msgid "Edit build order" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" -msgstr "" +msgstr "Yapı Ayrıntıları" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" -msgstr "" +msgstr "Satır Ögeleri" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "Birim" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Bağlantı" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Fiyat Aralığı" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "Filtreyi kaldır" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Filtre seç" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Filtre" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Değer" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Filtre değeri seç" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Filtre Ekle" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "Hiç kayıt bulunamadı" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "Hatalı istek" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "Yetkisiz" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "Yasaklı" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "Bulunamadı" @@ -5544,15 +5648,15 @@ msgstr "Bulunamadı" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "Barkod işlemleri" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "Veriyi yenile" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "Tablo filtreleri" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index 985bda965c..1a3665d632 100644 --- a/src/frontend/src/locales/uk/messages.po +++ b/src/frontend/src/locales/uk/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: uk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Ukrainian\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" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "Етикетку успішно роздруковано" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Помилка" @@ -107,6 +107,10 @@ msgstr "Друк етикеток" msgid "Print Reports" msgstr "Друк звітів" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Сканувати QR-код" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "Видалити пов'язане зображення з цього елемента?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "Видалити" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Скасувати" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "Очистити" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "Існують деякі помилки для одного або декількох полів" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Оновити" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Хост" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "Переглянути штрих-код" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Переглянути штрих-код" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Редагувати" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Дублювати" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Невідома помилка" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Обрати камеру" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Почати сканування" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Зупинити сканування" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Закрити вікно" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Центр адміністрування" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Сторінки" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Плагіни" @@ -1379,23 +1379,25 @@ msgstr "Жодних результатів" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "Адреси" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Контакт" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Користувач" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Користувачі" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "Конфігурація плагіну" msgid "Plugin Configurations" msgstr "Конфігурації плагінів" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "Немає в наявності" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "В наявності" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "Серійний номер" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "Демо" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "Оберіть розташування" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Статус" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Дії" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "Завантаження..." -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "Перемістити" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Додати" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "Кількість" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Зупинити сканування" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Почати сканування" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Обрати камеру" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index 767cf472e3..c59440e16d 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: vi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: vi\n" -"X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "Lỗi" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Quét mã QR" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "Hủy bỏ" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "Lỗi form" @@ -403,19 +407,19 @@ msgstr "Lỗi form" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Cập nhật" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "Host" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "Đang tải" msgid "No results found" msgstr "Không có kết quả nào được tìm thấy" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "Chức năng mã vạch" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Xem" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "Xem mã vạch" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "Liên kết mã vạch" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "Liên kết mã vạch tùy chỉnh" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "Gỡ liên kết mã vạch" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "Gỡ bỏ mã vạch tùy chỉnh" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "Sửa" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "Xoá mặt hàng" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "Nhân bản" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "Nhân bản hàng hóa" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "Xem thêm" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "Lỗi không xác định" @@ -965,30 +986,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "Bảng điều khiển này là dự kiến." -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "Liên kết" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "Thông tin phiên bản" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "Trả lời không xác định" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "Có lỗi khi lấy camera" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "Lỗi khi quét" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "Lỗi trong khi dừng lại" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "Đang quét" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "Chưa quét" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "Chọn camera" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "Bắt đầu quét" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "Dừng quét" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "Vẫn chưa quét!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "Đóng cửa sổ" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "Trung tâm quản trị" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "Trang" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1379,23 +1379,25 @@ msgstr "Không có kết quả" msgid "No results available for search query" msgstr "Không có kết quả nào được tìm thấy với truy vấn tìm kiếm" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "Model không rõ: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "Phụ kiện" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "Phụ tùng" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "Danh mục phụ kiện" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "Danh mục phụ kiện" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "Hàng trong kho" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "Hàng trong kho" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "Vị trí kho hàng" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "Vị trí kho hàng" @@ -1547,7 +1550,7 @@ msgstr "Doanh nghiệp" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "Mã dự án" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "Mã dự án" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "Đơn đặt mua" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "Đơn hàng mua" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "Đơn đặt bán" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "Đơn hàng bán" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "Vận chuyển đơn hàng" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Đơn hàng trả lại" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "Địa chỉ" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "Liên hệ" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "Người dùng" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Người dùng" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "Lô hàng" @@ -1725,8 +1736,8 @@ msgstr "Lô hàng" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "Kho hàng" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "Demo" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "Mua sắm" @@ -2517,9 +2529,9 @@ msgstr "Mua sắm" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "Bán hàng" @@ -2610,6 +2622,11 @@ msgstr "Giấy phép" msgid "User attributes and design settings." msgstr "Thuốc tính người dùng và thiết lập thiết kế." +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "Đang quét" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "Khung nhìn để quét tương tác và đa chức năng." #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "Phân kho" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "Danh mục phụ kiện cha" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Trạng thái" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "Đã nhận" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "Chức năng" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 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ẻ" @@ -2927,98 +2976,103 @@ msgstr "Thêm số lượng đã có theo gói thay vì các mục đơn lẻ" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 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:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "Số sê-ri" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 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:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "Còn hàng" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "Thêm" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "Đếm" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "Đang kiểm tra trạng thái đăng nhập của bạn" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "Không có lựa chọn" @@ -3365,115 +3419,147 @@ msgstr "Nhập thủ công" msgid "Image Barcode" msgstr "Mã vạch dạng ảnh" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "Chọn phần tử chưa được biết đến" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "Đã chọn nhiều loại đối tượng" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "Chức năng cho {0}" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "Quét trang" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "Trang này hữu dụng khi quét liên tục các mục và thao tác với chúng." -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "Chọn phương thức nhập liệu bạn muốn để dùng quét mục." -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "Nhập liệu" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "Chọn phương thức nhập liệu" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "Không tìm thấy" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "Tùy vào sản phẩm được chọn, chức năng sẽ được hiển thị ở đây. Hiện tại chưa hỗ trợ tất cả các loại mã vạch." -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "Thao tác" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "đã chọn {0} mục" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "Chức năng chung" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "Tra cứu phụ kiện" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "Mở liên kết" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "Lịch sử được lưu tạm trên trình duyệt của máy này." -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "Lịch sử được giữ trong lưu trữ nội bộ trình duyệt. Vậy nó sẽ không thể được chia sẻ với người dùng khác hoặc thiết bị khác nhưng nó vẫn tồn tại bền bỉ cho dù có nạp lại trang. Bạn có thể chọn mục trong lịch sử để thao tác với chúng. Để thêm mục, quét/nhập chúng trong khu vực nhập liệu." -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "Lịch sử" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "Chưa có lịch sử" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "Hàng hóa" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "Loại" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "Nguồn" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "Quét lúc" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "Nhập sê-ri hàng hóa hoặc dữ liệu" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "Thêm mục giả lập" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "Có lỗi khi lấy camera" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "Lỗi khi quét" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "Lỗi trong khi dừng lại" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "Dừng quét" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "Bắt đầu quét" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "Chưa quét" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "Chọn camera" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "Thông tin tài khoản" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "Thanh tải" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "Tham số phụ kiện" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "Thiết lập phần bổ sung" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "Tác vụ chờ xử lý" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "Tác vụ theo lịch" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "Tác vụ thất bại" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "Báo cáo" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "Kiểm kê" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "Đơn đặt bản dựng" @@ -3942,41 +4061,41 @@ msgstr "Đánh dấu chưa đọc" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "IPN" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,51 +4109,45 @@ msgstr "" msgid "Description" msgstr "Mô tả" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "Đầu ra hoàn thiện" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "Chịu trách nhiệm" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" -#: src/pages/build/BuildDetail.tsx:185 -#: src/pages/part/PartDetail.tsx:269 -#: src/pages/stock/StockDetail.tsx:150 -#~ msgid "View part barcode" -#~ msgstr "View part barcode" - -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 #: src/tables/ColumnRenderers.tsx:212 #: src/tables/part/PartPurchaseOrdersTable.tsx:99 #: src/tables/sales/ReturnOrderLineItemTable.tsx:110 @@ -4042,33 +4155,35 @@ msgstr "" msgid "Target Date" msgstr "Ngày mục tiêu" +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "" + #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "Chi tiết bản dựng" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "Dòng hàng hóa" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "Đầu ra chưa hoàn hiện" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "Kho tiêu thụ" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "Đơn đặt bản dựng con" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "Đính kèm" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Ghi chú" @@ -4156,134 +4271,134 @@ msgstr "Ghi chú" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "Nhà cung cấp" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Nhà sản xuất" @@ -4332,9 +4447,9 @@ msgstr "Nhà sản xuất" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "Thông số" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "Nhà cung cấp" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "Số lượng gói" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Sửa sản phẩm nhà cung cấp" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Thêm sản phẩm nhà cung cấp" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "Đường dẫn" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "Đơn vị" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "Liên kết" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "Khoảng giá" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "Biến thể" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "Phân bổ" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "Phân bổ đơn hàng bản dựng" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "Phân bổ đơn hàng bán" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "Hóa đơn nguyên vật liệu" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "Sử dụng trong" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "Mẫu thử nghiệm" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "Phụ kiện liên quan" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "Có sẵn" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "On Order" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "Sửa phụ kiện" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "Chi tiết đơn đặt" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "Chức năng đơn đặt" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "Sản phẩm cơ bản" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "Theo dõi tồn kho" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "Mục đã cài đặt" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "Mục con" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "Sửa hàng trong kho" @@ -5362,38 +5471,38 @@ msgstr "Sửa hàng trong kho" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "Đếm hàng" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "Thêm hàng" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "Xóa hàng" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "Chuyển" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "Chuyển giao hàng" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "Phân công cho tôi" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "Hiển thị đơn đặt phân công cho tôi" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "Hiện đơn hàng nổi bật" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "Quá hạn" @@ -5483,60 +5587,60 @@ msgstr "Hiện đơn hàng quá hạn" msgid "Remove filter" msgstr "Xoá bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "Chọn bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "Bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "Giá trị" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Lựa chọn giá trị để lọc" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "Bộ lọc bảng" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "Thêm bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "Xóa bộ lọc" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "Không tìm thấy biểu ghi" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "Yêu cầu không hợp lệ" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "Chưa cấp quyền" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "Bị cấm" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "Không tìm thấy" @@ -5544,15 +5648,15 @@ msgstr "Không tìm thấy" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "Chức năng mã vạch" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "Làm mới dữ liệu" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "Bộ lọc bảng" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" -msgstr "Phân kho" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" +msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "" diff --git a/src/frontend/src/locales/zh_Hans/messages.po b/src/frontend/src/locales/zh_Hans/messages.po index 3b5dc22b0a..7633cdf75b 100644 --- a/src/frontend/src/locales/zh_Hans/messages.po +++ b/src/frontend/src/locales/zh_Hans/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\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-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "标签打印成功" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "错误" @@ -107,6 +107,10 @@ msgstr "打印标签" msgid "Print Reports" msgstr "列印報告" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "扫描二维码" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "删除与此项关联的图片?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "移除" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "取消" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "清除" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "服务器出错。" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "表单错误" @@ -403,19 +407,19 @@ msgstr "表单错误" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "一个或多个表单字段存在错误" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "更新" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "主机" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "正在加载" msgid "No results found" msgstr "未找到结果" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "表格需要 modelRenderer 条目" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "无可用条目" @@ -863,72 +867,89 @@ msgstr "导入记录" msgid "Imported rows" msgstr "导入的行" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "条形码操作" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "查看条形码" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "视图" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "查看条形码" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "关联二维码" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" -msgstr "链接自定义条形码" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" +msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "解绑条形码" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "解绑自定义条形码链接" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "编辑" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "删除项目" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "挂起" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "复制" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "重复项目" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "了解更多" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "未知错误" @@ -965,30 +986,50 @@ msgstr "PLH" msgid "This panel is a placeholder." msgstr "此面板是一个占位符。" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "低 (7%)" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "中 (15%)" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "四分之一(25%)" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "高 (30%)" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "条形码数据:" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "选择错误纠正级别" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "链接" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "版本信息" @@ -1091,56 +1132,15 @@ msgstr "获取许可信息失败" msgid "{key} Packages" msgstr "{key} 包" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "未知响应" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "获取相机时出错" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "扫描时出错" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "停止时出错" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "正在扫描" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "未扫描" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "选择相机" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "开始扫描" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "停止扫描" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "还没有扫描!" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "关闭模态框" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "管理中心" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "页面" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "插件" @@ -1379,23 +1379,25 @@ msgstr "无结果" msgid "No results available for search query" msgstr "没有可供搜索查询的结果" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "未知模型: {model}" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "零件" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "零件" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "零件测试模板" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "零件类别" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "零件类别" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "库存项" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "库存项" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "库存地点" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "库存地点" @@ -1547,7 +1550,7 @@ msgstr "公司" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "项目编码" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "项目编码" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "采购订单" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "采购订单" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "采购订单行" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "销售订单" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "销售订单" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "销售订单配送" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "退货订单" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "地址" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "联系人" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "用户" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "用户" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "标签模板" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "标签模板" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "报告模板" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "报告模板" @@ -1718,6 +1721,14 @@ msgstr "插件配置" msgid "Plugin Configurations" msgstr "插件配置" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "配送" @@ -1725,8 +1736,8 @@ msgstr "配送" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "未激活" @@ -1740,30 +1751,31 @@ msgstr "无库存" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "库存" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "序列号" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "演示" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "采购中" @@ -2517,9 +2529,9 @@ msgstr "采购中" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "销售" @@ -2610,6 +2622,11 @@ msgstr "许可协议" msgid "User attributes and design settings." msgstr "用户属性和设计设置" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "正在扫描" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "查看互动扫描和多种操作。" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "下一个序列号" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "最新序列号" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "移除产出" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "完成生产输出" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "生产已完成" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "报废生产输出" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "生产已完成" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "取消生产输出" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "所选的生产输出将被删除" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "生产已完成" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "已分配" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "来源地点" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "分配库存" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "上级零件类别" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "选择位置" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "已选择项目目的地" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "已选择零件类别默认位置" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "已选择接收库存位置" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "已选择默认位置" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "扫描条形码" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "设置位置" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "分配批号 {0}" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "调整封包" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "更改状态" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "添加备注" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "从列表中删除项目" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "位置" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "存储在默认位置" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "存储在行项目目标" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "存储已收到的库存" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "批号" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "序列号" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "包装" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "状态" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "备注" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "库存单位 (SKU)" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "已接收" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "操作" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "接收行项目" @@ -2919,7 +2968,7 @@ msgstr "接收行项目" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "将给定的数量添加为包,而不是单个项目" @@ -2927,98 +2976,103 @@ msgstr "将给定的数量添加为包,而不是单个项目" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "输入此库存项的初始数量" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "序列号" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "输入新库存的序列号(或留空)" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "库存状态" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "编辑库存项" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "正在加载..." -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "移动到默认位置" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "入库" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "移动" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "添加" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "总计" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "添加库存" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "移除库存" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "转移库存" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "库存数量" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "更改库存状态" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "合并库存" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "删除库存项" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "上级库存地点" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "检查您是否已经登录" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "未选择" @@ -3365,115 +3419,147 @@ msgstr "手动输入" msgid "Image Barcode" msgstr "图片条形码" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "所选元素未知" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "选择多个对象类型" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "对 {0} 的操作" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "扫描页" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "该页面可用于持续扫描项目并对其进行操作。" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "全屏开关" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "选择您要用于扫描项目的输入方法。" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "输入" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "选择输入方式" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "无结果" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "根据所选零件的不同,这里将显示相应的操作。目前不支持所有条形码类型。" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "操作" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "已选择 {0} 项" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "通用操作" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "查找零件" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "打开链接" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "历史记录被本地保存在此浏览器。" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "历史记录保存在浏览器的本地存储中。因此,它不会与其他用户或其他设备共享,但在重新加载时会持续存在。您可以选择历史记录中的项目,对其执行操作。要添加项目,请在输入区扫描/输入。" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "历史记录" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "删除历史记录" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "无历史记录" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "项目" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "类型" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "来源" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "扫描于" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "输入项目序列号或数据" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "添加虚拟项目" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "获取相机时出错" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "扫描时出错" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "停止时出错" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "停止扫描" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "开始扫描" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "未扫描" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "选择相机" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "账户详情" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "未配置令牌" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "加载器" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "货币" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "汇率" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "汇率已更新" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "汇率更新错误" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "刷新货币汇率" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "数据导入" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "后台任务" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "错误报告" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "币种" @@ -3693,41 +3808,45 @@ msgstr "币种" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "自定义单位" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "零件参数" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "类别参数" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "位置类型" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "位置类型" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "设备" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "快捷操作" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "添加新用户" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "高级选项" @@ -3772,26 +3891,26 @@ msgstr "插件错误" msgid "Plugin Settings" msgstr "插件设置" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "后台程序未运行" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "后台任务管理器服务未运行。请联系系统管理员。" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "待完成任务" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "计划任务" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "失败任务" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "报告" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "库存盘点" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "生产订单" @@ -3942,41 +4061,41 @@ msgstr "标记为未读" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "内部零件编码 IPN" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "参考" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,51 +4109,45 @@ msgstr "参考" msgid "Description" msgstr "描述" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "上级生产" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "生产数量" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "已出产" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "发布人" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "责任人" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "已创建" -#: src/pages/build/BuildDetail.tsx:185 -#: src/pages/part/PartDetail.tsx:269 -#: src/pages/stock/StockDetail.tsx:150 -#~ msgid "View part barcode" -#~ msgstr "View part barcode" - -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 #: src/tables/ColumnRenderers.tsx:212 #: src/tables/part/PartPurchaseOrdersTable.tsx:99 #: src/tables/sales/ReturnOrderLineItemTable.tsx:110 @@ -4042,33 +4155,35 @@ msgstr "已创建" msgid "Target Date" msgstr "预计日期" +#: src/pages/build/BuildDetail.tsx:185 +#: src/pages/part/PartDetail.tsx:269 +#: src/pages/stock/StockDetail.tsx:150 +#~ msgid "View part barcode" +#~ msgstr "View part barcode" + +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" +msgstr "已完成" + #: src/pages/build/BuildDetail.tsx:190 #: src/pages/part/PartDetail.tsx:274 #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "已完成" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "来源地点" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "任意地点" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "目标地点" @@ -4084,70 +4199,70 @@ msgstr "目标地点" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "生产详情" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "行项目" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "未出产" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "已分配的库存" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "已消耗库存" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "子生产订单" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "测试结果" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "测试统计数据" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "附件" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "备注" @@ -4156,134 +4271,134 @@ msgstr "备注" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "编辑生产订单" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "编辑生产订单" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "添加生产订单" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "取消生产订单" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "订单已取消" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "取消此订单" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "挂起生产订单" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "将此订单挂起" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "挂起订单" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "发出生产订单" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "发出这个订单" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "订单发起" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "完成生产订单" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "标记该订单为已完成" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "订单已完成" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "发布订单" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "完成订单" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "生产订单操作" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "编辑订单" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "复制订单" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "挂起订单" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "取消订单" @@ -4309,10 +4424,10 @@ msgstr "默认货币单位" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "供应商" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "制造商" @@ -4332,9 +4447,9 @@ msgstr "制造商" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "公司操作" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "内部零件" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "外部链接" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "制造商零件编号" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "制造商零件详情" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "参数" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "供应商" @@ -4440,7 +4555,7 @@ msgstr "制造商零件操作" msgid "ManufacturerPart" msgstr "制造商零件" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "制造商零件" msgid "Pack Quantity" msgstr "包装数量" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "供应商可用性" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "可用性已更新" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "可用性" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "供应商零件详情" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "接收库存" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "供应商价格" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "供应商零件操作" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "编辑供应商零件" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "删除供应商零件" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "添加供应商零件" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "路径" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "子类别" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "编辑零件类别" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "删除项" @@ -4604,16 +4719,9 @@ msgstr "单位" msgid "Keywords" msgstr "关键词" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "链接" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "最低库存" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "订购中" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "分配生产订单" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "分配销售订单" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "可以创建" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" -msgstr "正在生产" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" +msgstr "生产中" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "已锁定" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "模板零件" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" +msgstr "模板零件" + +#: src/pages/part/PartDetail.tsx:320 #: src/tables/bom/BomTable.tsx:315 msgid "Assembled Part" msgstr "组装零件" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" -msgstr "组件零件" - #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" -msgstr "" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" +msgstr "组件零件" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "可追溯零件" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "可购买零件" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "可销售零件" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "虚拟零件" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "创建日期" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "创建人" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "默认供应商" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "价格范围" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "最近库存盘点" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "库存盘点由" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "零件详情" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "变体" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "分配" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "分配生产订单" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "分配销售订单" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "物料清单" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "用于" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "零件价格" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "制造商" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "计划任务" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "测试模板" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "关联零件" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "可用的" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "无库存" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "必填" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "订购中" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "生产中" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "编辑零件" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "添加零件" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "删除零件" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "删除此零件无法撤销" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "库存操作" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "清点零件库存" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "转移零件库存" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "零件选项" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "选择零件版本" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "总价" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "最近更新" @@ -5047,7 +5160,7 @@ msgstr "正在加载定价数据" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "日期" @@ -5075,23 +5188,23 @@ msgstr "供应商价格" msgid "Variant Part" msgstr "变体零件" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "编辑采购订单" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "添加采购订单" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "供应商参考" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "已完成行项目" @@ -5101,91 +5214,91 @@ msgstr "已完成行项目" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "订单货币" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "总成本" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "创建于" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "订单细节" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "发布采购订单" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "取消采购订单" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "挂起采购订单" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "完成采购订单" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "订单操作" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "客户参考" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "编辑退货订单" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "添加退货订单" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "发布退货订单" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "取消退货订单" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "订单已取消" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "挂起退货订单" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "完成退货订单" @@ -5193,15 +5306,15 @@ msgstr "完成退货订单" msgid "Customers" msgstr "客户" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "完成配送" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "编辑销售订单" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "添加销售订单" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "配送" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "发布销售订单" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "取消销售订单" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "挂起销售订单" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "完成销售订单" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "装货单" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "上级地点" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "次级地点" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "外部" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "位置类型" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "最高级库存位置" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "位置详细信息" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "默认零件" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "编辑库存地点" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "删除库存地点" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "项目操作" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "对此位置中的库存物品执行的操作" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "子仓库操作" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "对此位置中的子位置执行的操作" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "位置操作" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "基础零件" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "库存状态" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "库存状态" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "安装于" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "消耗者" @@ -5324,7 +5433,7 @@ msgstr "消耗者" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "生产订单" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "库存详情" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "库存跟踪" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "测试数据" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "已安装的项目" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "子项目" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "编辑库存项" @@ -5362,38 +5471,38 @@ msgstr "编辑库存项" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "删除库存项" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "库存操作" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "库存计数" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "添加库存" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "移除库存" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "转移" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "转移库存" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "库存项操作" @@ -5414,11 +5523,6 @@ msgstr "未设置库存地点" msgid "Shipment Date" msgstr "发货日期" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "货币" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "下载数据" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "已分派给我的" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "显示分配给我的订单" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "显示未完成的订单" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "逾期" @@ -5483,60 +5587,60 @@ msgstr "显示逾期订单" msgid "Remove filter" msgstr "移除过滤器" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "选择过滤器" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "过滤器" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "值" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "选择过滤器值" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "表格筛选" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "添加过滤条件" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "清除筛选" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "没有找到记录" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "服务器返回了错误的数据类型" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "错误的请求" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "未授权" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "禁止访问" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "未找到" @@ -5544,15 +5648,15 @@ msgstr "未找到" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "删除所选项目" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "确定要删除所选的项目吗?" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "此操作无法撤消!" @@ -5573,26 +5677,26 @@ msgstr "此操作无法撤消!" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "条形码操作" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "删除选中的记录" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "刷新数据" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "表格过滤器" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "零件信息" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "外部库存" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "包括替代库存" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "包括变体库存" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "正在生产" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "库存信息" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "可耗物品" @@ -5644,7 +5753,7 @@ msgstr "无可用库存" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "显示可跟踪项目" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "显示允许变体替换的项目" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "可选项" @@ -5723,7 +5832,7 @@ msgstr "显示可选项目" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "消耗品" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "无法编辑材料清单,因为零件已锁定" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "可用数量" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "生产产出" @@ -5883,94 +5992,109 @@ msgstr "编辑构建项" msgid "Delete Build Item" msgstr "删除构建项" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "已分配" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "显示分配的行" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "显示有可用库存的项目" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "显示可消耗项目" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "显示可选项目" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "已跟踪" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "显示已跟踪项目" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "生产中" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "无可用库存" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "获取已继承的" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "单位数量" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "创建生产订单" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" -msgstr "分配库存" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" +msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "订单库存" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "生产库存" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "显示活动订单" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "按订单状态筛选" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "显示逾期状态" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "按项目编码筛选" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "有项目编码" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "根据采购订单是否有项目编码进行筛选" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "按发布此订单的用户筛选" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "根据负责人进行筛选" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "添加测试结果" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "测试结果已添加" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "无结果" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "显示当前生产中的构建输出" @@ -6732,11 +6864,6 @@ msgstr "结果" msgid "No Results" msgstr "无结果" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "必填" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "显示必选测试" @@ -7280,21 +7407,29 @@ msgstr "已送达" msgid "Show shipments which have been delivered" msgstr "显示已送达的货物" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" -msgstr "汇率" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" -msgstr "汇率已更新" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" -msgstr "汇率更新错误" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" +msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" -msgstr "刷新货币汇率" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" +msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" @@ -7838,58 +7973,58 @@ msgstr "测试站" msgid "Finished" msgstr "已完成" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "编辑测试结果" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "测试结果已更新" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "删除测试结果" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "测试结果已删除" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "测试通过" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "测试结果已被记录" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "记录测试结果失败" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "通过测试" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "显示需要测试的结果" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "包含已安装的" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "显示已安装库存项目的结果" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "通过" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr "只显示通过的测试" diff --git a/src/frontend/src/locales/zh_Hant/messages.po b/src/frontend/src/locales/zh_Hant/messages.po index 9128561865..f4eab98678 100644 --- a/src/frontend/src/locales/zh_Hant/messages.po +++ b/src/frontend/src/locales/zh_Hant/messages.po @@ -8,15 +8,15 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-08-20 19:50\n" +"PO-Revision-Date: 2024-08-27 23:27\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\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-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" -"X-Crowdin-File-ID: 205\n" +"X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" +"X-Crowdin-File-ID: 252\n" #: src/components/Boundary.tsx:12 msgid "Error rendering component" @@ -69,9 +69,9 @@ msgstr "" #: src/components/nav/SearchDrawer.tsx:448 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:67 -#: src/tables/InvenTreeTable.tsx:495 +#: src/tables/InvenTreeTable.tsx:494 #: src/tables/bom/BomTable.tsx:450 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:300 msgid "Error" msgstr "" @@ -107,6 +107,10 @@ msgstr "" msgid "Print Reports" msgstr "" +#: src/components/buttons/RemoveRowButton.tsx:8 +msgid "Remove this row" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "掃描 QR Code" @@ -150,20 +154,20 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:533 +#: src/forms/StockForms.tsx:523 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:199 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:306 -#: src/pages/stock/StockDetail.tsx:526 +#: src/pages/stock/StockDetail.tsx:510 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 #: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 -#: src/components/items/ActionDropdown.tsx:215 -#: src/components/items/ActionDropdown.tsx:216 +#: src/components/items/ActionDropdown.tsx:237 +#: src/components/items/ActionDropdown.tsx:238 #: src/contexts/ThemeContext.tsx:43 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:205 +#: src/tables/FilterSelectDrawer.tsx:210 #: src/tables/build/BuildOutputTable.tsx:286 msgid "Cancel" msgstr "取消" @@ -181,7 +185,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:232 -#: src/components/forms/ApiForm.tsx:627 +#: src/components/forms/ApiForm.tsx:640 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:60 msgid "Submit" @@ -395,7 +399,7 @@ msgid "A server error occurred" msgstr "" #: src/components/forms/ApiForm.tsx:151 -#: src/components/forms/ApiForm.tsx:555 +#: src/components/forms/ApiForm.tsx:568 msgid "Form Error" msgstr "" @@ -403,19 +407,19 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:563 +#: src/components/forms/ApiForm.tsx:576 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:665 +#: src/components/forms/ApiForm.tsx:678 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:685 -#: src/components/items/ActionDropdown.tsx:195 +#: src/components/forms/ApiForm.tsx:698 +#: src/components/items/ActionDropdown.tsx:217 #: src/hooks/UseForm.tsx:122 -#: src/pages/Index/Scan.tsx:343 +#: src/pages/Index/Scan.tsx:357 #: src/pages/Notifications.tsx:123 #: src/tables/RowActions.tsx:43 #: src/tables/plugin/PluginListTable.tsx:420 @@ -591,7 +595,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:410 #: src/pages/part/CategoryDetail.tsx:81 #: src/pages/part/PartDetail.tsx:143 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/stock/LocationDetail.tsx:86 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 @@ -684,11 +688,11 @@ msgstr "" msgid "No results found" msgstr "找不到結果" -#: src/components/forms/fields/TableField.tsx:52 +#: src/components/forms/fields/TableField.tsx:72 msgid "modelRenderer entry required for tables" msgstr "" -#: src/components/forms/fields/TableField.tsx:76 +#: src/components/forms/fields/TableField.tsx:99 msgid "No entries available" msgstr "" @@ -863,72 +867,89 @@ msgstr "" msgid "Imported rows" msgstr "" -#: src/components/items/ActionDropdown.tsx:121 +#: src/components/items/ActionDropdown.tsx:131 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:140 -msgid "View Barcode" -msgstr "" - -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:148 +#: src/components/items/ActionDropdown.tsx:138 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:161 +#: src/components/items/ActionDropdown.tsx:140 +#~ msgid "View Barcode" +#~ msgstr "View Barcode" + +#: src/components/items/ActionDropdown.tsx:144 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:162 -msgid "Link custom barcode" +#: src/components/items/ActionDropdown.tsx:146 +msgid "Link a custom barcode to this item" msgstr "" -#: src/components/items/ActionDropdown.tsx:173 -#: src/forms/PurchaseOrderForms.tsx:426 +#: src/components/items/ActionDropdown.tsx:152 +#: src/components/items/QRCode.tsx:195 +#: src/forms/PurchaseOrderForms.tsx:419 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:154 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:183 +#: src/components/items/ActionDropdown.tsx:162 +#~ msgid "Link custom barcode" +#~ msgstr "Link custom barcode" + +#: src/components/items/ActionDropdown.tsx:205 #: src/tables/RowActions.tsx:33 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:184 +#: src/components/items/ActionDropdown.tsx:206 msgid "Edit item" msgstr "" -#: src/components/items/ActionDropdown.tsx:196 +#: src/components/items/ActionDropdown.tsx:218 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 -#: src/components/items/ActionDropdown.tsx:205 +#: src/components/items/ActionDropdown.tsx:226 +#: src/components/items/ActionDropdown.tsx:227 msgid "Hold" msgstr "" -#: src/components/items/ActionDropdown.tsx:227 +#: src/components/items/ActionDropdown.tsx:249 #: src/tables/RowActions.tsx:23 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:228 +#: src/components/items/ActionDropdown.tsx:250 msgid "Duplicate item" msgstr "" +#: src/components/items/BarcodeInput.tsx:23 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:24 +msgid "Barcode" +msgstr "" + +#: src/components/items/BarcodeInput.tsx:25 +msgid "Scan" +msgstr "" + #: src/components/items/DocTooltip.tsx:92 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:487 +#: src/tables/InvenTreeTable.tsx:486 msgid "Unknown error" msgstr "" @@ -965,30 +986,50 @@ msgstr "" msgid "This panel is a placeholder." msgstr "" -#: src/components/items/QRCode.tsx:87 +#: src/components/items/QRCode.tsx:90 msgid "Low (7%)" msgstr "" -#: src/components/items/QRCode.tsx:88 +#: src/components/items/QRCode.tsx:91 msgid "Medium (15%)" msgstr "" -#: src/components/items/QRCode.tsx:89 +#: src/components/items/QRCode.tsx:92 msgid "Quartile (25%)" msgstr "" -#: src/components/items/QRCode.tsx:90 +#: src/components/items/QRCode.tsx:93 msgid "High (30%)" msgstr "" -#: src/components/items/QRCode.tsx:107 +#: src/components/items/QRCode.tsx:101 +msgid "Custom barcode" +msgstr "" + +#: src/components/items/QRCode.tsx:102 +msgid "A custom barcode is registered for this item. The shown code is not that custom barcode." +msgstr "" + +#: src/components/items/QRCode.tsx:119 msgid "Barcode Data:" msgstr "" -#: src/components/items/QRCode.tsx:118 +#: src/components/items/QRCode.tsx:130 msgid "Select Error Correction Level" msgstr "" +#: src/components/items/QRCode.tsx:173 +#: src/pages/part/PartDetail.tsx:218 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:161 +#: src/pages/sales/SalesOrderDetail.tsx:170 +msgid "Link" +msgstr "" + +#: src/components/items/QRCode.tsx:192 +msgid "This will remove the link to the associated barcode" +msgstr "" + #: src/components/modals/AboutInvenTreeModal.tsx:99 msgid "Version Information" msgstr "" @@ -1091,56 +1132,15 @@ msgstr "" msgid "{key} Packages" msgstr "" -#: src/components/modals/QrCodeModal.tsx:72 +#: src/components/modals/QrCodeModal.tsx:24 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:102 -#: src/pages/Index/Scan.tsx:636 -msgid "Error while getting camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:125 -#: src/pages/Index/Scan.tsx:659 -msgid "Error while scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:139 -#: src/pages/Index/Scan.tsx:673 -msgid "Error while stopping" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:746 -msgid "Scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:746 -msgid "Not scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:752 -msgid "Select Camera" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:737 -msgid "Start scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:729 -msgid "Stop scanning" -msgstr "" - -#: src/components/modals/QrCodeModal.tsx:181 +#: src/components/modals/QrCodeModal.tsx:39 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:201 +#: src/components/modals/QrCodeModal.tsx:57 msgid "Close modal" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:86 #: src/defaults/actions.tsx:71 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:221 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:231 msgid "Admin Center" msgstr "" @@ -1302,7 +1302,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:176 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:186 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1379,23 +1379,25 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:217 +#: src/components/render/Instance.tsx:222 msgid "Unknown model: {model}" msgstr "" #: src/components/render/ModelType.tsx:22 -#: src/forms/BuildForms.tsx:213 -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/build/BuildDetail.tsx:95 -#: src/pages/part/PartDetail.tsx:1073 +#: src/forms/BuildForms.tsx:229 +#: src/forms/BuildForms.tsx:452 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/build/BuildDetail.tsx:91 +#: src/pages/part/PartDetail.tsx:1080 #: src/tables/build/BuildAllocatedStockTable.tsx:82 #: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 @@ -1412,7 +1414,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:119 #: src/pages/part/CategoryDetail.tsx:244 #: src/pages/part/CategoryDetail.tsx:274 -#: src/pages/part/PartDetail.tsx:827 +#: src/pages/part/PartDetail.tsx:835 msgid "Parts" msgstr "" @@ -1433,9 +1435,9 @@ msgid "Part Test Templates" msgstr "" #: src/components/render/ModelType.tsx:45 -#: src/pages/company/SupplierPartDetail.tsx:203 -#: src/pages/company/SupplierPartDetail.tsx:375 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/company/SupplierPartDetail.tsx:199 +#: src/pages/company/SupplierPartDetail.tsx:357 +#: src/pages/stock/StockDetail.tsx:169 #: src/tables/build/BuildAllocatedStockTable.tsx:131 #: src/tables/part/PartPurchaseOrdersTable.tsx:49 #: src/tables/purchasing/SupplierPartTable.tsx:68 @@ -1464,12 +1466,13 @@ msgstr "" #: src/components/render/ModelType.tsx:64 #: src/pages/part/CategoryDetail.tsx:258 #: src/pages/part/CategoryDetail.tsx:296 -#: src/pages/part/PartDetail.tsx:1063 +#: src/pages/part/PartDetail.tsx:1070 msgid "Part Categories" msgstr "" #: src/components/render/ModelType.tsx:72 -#: src/pages/stock/StockDetail.tsx:624 +#: src/forms/BuildForms.tsx:602 +#: src/pages/stock/StockDetail.tsx:608 #: src/tables/sales/ReturnOrderLineItemTable.tsx:94 #: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" @@ -1477,9 +1480,9 @@ msgstr "" #: src/components/render/ModelType.tsx:73 #: src/pages/company/CompanyDetail.tsx:203 -#: src/pages/stock/LocationDetail.tsx:128 -#: src/pages/stock/LocationDetail.tsx:181 -#: src/pages/stock/LocationDetail.tsx:395 +#: src/pages/stock/LocationDetail.tsx:125 +#: src/pages/stock/LocationDetail.tsx:178 +#: src/pages/stock/LocationDetail.tsx:384 msgid "Stock Items" msgstr "" @@ -1488,9 +1491,9 @@ msgid "Stock Location" msgstr "" #: src/components/render/ModelType.tsx:82 -#: src/pages/stock/LocationDetail.tsx:195 -#: src/pages/stock/LocationDetail.tsx:387 -#: src/pages/stock/StockDetail.tsx:616 +#: src/pages/stock/LocationDetail.tsx:192 +#: src/pages/stock/LocationDetail.tsx:376 +#: src/pages/stock/StockDetail.tsx:600 msgid "Stock Locations" msgstr "" @@ -1547,7 +1550,7 @@ msgstr "" #: src/components/render/ModelType.tsx:131 #: src/tables/TableHoverCard.tsx:81 -#: src/tables/build/BuildOrderTable.tsx:140 +#: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 #: src/tables/sales/ReturnOrderTable.tsx:55 #: src/tables/sales/SalesOrderTable.tsx:62 @@ -1555,13 +1558,13 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:128 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:132 msgid "Project Codes" msgstr "" #: src/components/render/ModelType.tsx:138 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:32 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:480 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/tables/part/PartPurchaseOrdersTable.tsx:32 #: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" @@ -1570,8 +1573,8 @@ msgstr "" #: src/components/render/ModelType.tsx:139 #: src/pages/Index/Settings/SystemSettings.tsx:255 #: src/pages/company/CompanyDetail.tsx:196 -#: src/pages/company/SupplierPartDetail.tsx:237 -#: src/pages/part/PartDetail.tsx:662 +#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:670 #: src/pages/purchasing/PurchasingIndex.tsx:25 msgid "Purchase Orders" msgstr "" @@ -1585,9 +1588,9 @@ msgid "Purchase Order Lines" msgstr "" #: src/components/render/ModelType.tsx:152 -#: src/pages/build/BuildDetail.tsx:153 -#: src/pages/sales/SalesOrderDetail.tsx:520 -#: src/pages/stock/StockDetail.tsx:221 +#: src/pages/build/BuildDetail.tsx:149 +#: src/pages/sales/SalesOrderDetail.tsx:505 +#: src/pages/stock/StockDetail.tsx:217 #: src/tables/sales/SalesOrderAllocationTable.tsx:50 #: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" @@ -1596,7 +1599,7 @@ msgstr "" #: src/components/render/ModelType.tsx:153 #: src/pages/Index/Settings/SystemSettings.tsx:270 #: src/pages/company/CompanyDetail.tsx:216 -#: src/pages/part/PartDetail.tsx:669 +#: src/pages/part/PartDetail.tsx:677 #: src/pages/sales/SalesIndex.tsx:26 msgid "Sales Orders" msgstr "" @@ -1610,7 +1613,7 @@ msgid "Sales Order Shipments" msgstr "" #: src/components/render/ModelType.tsx:168 -#: src/pages/sales/ReturnOrderDetail.tsx:469 +#: src/pages/sales/ReturnOrderDetail.tsx:454 #: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" @@ -1641,9 +1644,9 @@ msgid "Addresses" msgstr "" #: src/components/render/ModelType.tsx:189 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:195 -#: src/pages/sales/ReturnOrderDetail.tsx:174 -#: src/pages/sales/SalesOrderDetail.tsx:183 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:170 +#: src/pages/sales/SalesOrderDetail.tsx:179 msgid "Contact" msgstr "" @@ -1668,7 +1671,7 @@ msgid "User" msgstr "" #: src/components/render/ModelType.tsx:204 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:98 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" @@ -1697,7 +1700,7 @@ msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:226 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:158 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 msgid "Label Templates" msgstr "" @@ -1706,7 +1709,7 @@ msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:233 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:164 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Report Templates" msgstr "" @@ -1718,6 +1721,14 @@ msgstr "" msgid "Plugin Configurations" msgstr "" +#: src/components/render/ModelType.tsx:246 +msgid "Content Type" +msgstr "" + +#: src/components/render/ModelType.tsx:247 +msgid "Content Types" +msgstr "" + #: src/components/render/Order.tsx:121 msgid "Shipment" msgstr "" @@ -1725,8 +1736,8 @@ msgstr "" #: src/components/render/Part.tsx:25 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:325 -#: src/pages/company/SupplierPartDetail.tsx:360 -#: src/pages/part/PartDetail.tsx:879 +#: src/pages/company/SupplierPartDetail.tsx:342 +#: src/pages/part/PartDetail.tsx:896 msgid "Inactive" msgstr "" @@ -1740,30 +1751,31 @@ msgstr "" #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:206 -#: src/pages/part/PartDetail.tsx:543 -#: src/pages/stock/LocationDetail.tsx:367 -#: src/pages/stock/StockDetail.tsx:411 +#: src/pages/part/PartDetail.tsx:550 +#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/StockDetail.tsx:407 #: src/tables/stock/StockItemTable.tsx:68 msgid "Stock" msgstr "" #: src/components/render/Stock.tsx:60 -#: src/pages/stock/StockDetail.tsx:150 -#: src/pages/stock/StockDetail.tsx:581 +#: src/pages/stock/StockDetail.tsx:146 +#: src/pages/stock/StockDetail.tsx:565 #: src/tables/build/BuildAllocatedStockTable.tsx:102 #: src/tables/sales/SalesOrderAllocationTable.tsx:80 msgid "Serial Number" msgstr "" #: src/components/render/Stock.tsx:62 -#: src/forms/BuildForms.tsx:218 -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:602 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/pages/part/pricing/BomPricingPanel.tsx:109 #: src/pages/part/pricing/PriceBreakPanel.tsx:89 #: src/pages/part/pricing/PriceBreakPanel.tsx:171 -#: src/pages/stock/StockDetail.tsx:145 -#: src/pages/stock/StockDetail.tsx:587 -#: src/tables/build/BuildOrderTestTable.tsx:197 +#: src/pages/stock/StockDetail.tsx:141 +#: src/pages/stock/StockDetail.tsx:571 +#: src/tables/build/BuildOrderTestTable.tsx:198 #: src/tables/part/PartPurchaseOrdersTable.tsx:92 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:171 @@ -2508,8 +2520,8 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:9 #: src/pages/company/ManufacturerPartDetail.tsx:263 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:347 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:483 +#: src/pages/company/SupplierPartDetail.tsx:329 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:468 #: src/pages/purchasing/PurchasingIndex.tsx:60 msgid "Purchasing" msgstr "" @@ -2517,9 +2529,9 @@ msgstr "" #: src/defaults/links.tsx:37 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:474 +#: src/pages/sales/ReturnOrderDetail.tsx:459 #: src/pages/sales/SalesIndex.tsx:53 -#: src/pages/sales/SalesOrderDetail.tsx:525 +#: src/pages/sales/SalesOrderDetail.tsx:510 msgid "Sales" msgstr "" @@ -2610,6 +2622,11 @@ msgstr "" msgid "User attributes and design settings." msgstr "" +#: src/defaults/menuItems.tsx:21 +#: src/pages/Index/Scan.tsx:763 +msgid "Scanning" +msgstr "" + #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" #~ msgstr "Free for everyone" @@ -2698,47 +2715,78 @@ msgstr "" #~ msgid "Are you sure you want to delete this attachment?" #~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:158 +#: src/forms/BuildForms.tsx:174 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:162 +#: src/forms/BuildForms.tsx:178 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:234 +#: src/forms/BuildForms.tsx:250 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:316 +#: src/forms/BuildForms.tsx:320 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:320 +#: src/forms/BuildForms.tsx:324 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:389 +#: src/forms/BuildForms.tsx:385 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:393 +#: src/forms/BuildForms.tsx:389 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:425 -#: src/forms/BuildForms.tsx:449 +#: src/forms/BuildForms.tsx:409 +#: src/forms/BuildForms.tsx:433 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:426 +#: src/forms/BuildForms.tsx:410 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:453 +#: src/forms/BuildForms.tsx:437 msgid "Build outputs have been cancelled" msgstr "" +#: src/forms/BuildForms.tsx:457 +#: src/forms/BuildForms.tsx:602 +#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Allocated" +msgstr "" + +#: src/forms/BuildForms.tsx:472 +msgid "Remove line" +msgstr "" + +#: src/forms/BuildForms.tsx:631 +#: src/pages/build/BuildDetail.tsx:201 +msgid "Source Location" +msgstr "" + +#: src/forms/BuildForms.tsx:632 +msgid "Select the source location for the stock allocation" +msgstr "" + +#: src/forms/BuildForms.tsx:652 +#: src/tables/build/BuildLineTable.tsx:293 +#: src/tables/build/BuildLineTable.tsx:394 +#: src/tables/build/BuildLineTable.tsx:454 +msgid "Allocate Stock" +msgstr "" + +#: src/forms/BuildForms.tsx:655 +msgid "Stock items allocated" +msgstr "" + #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" #~ msgstr "Company updated" @@ -2759,159 +2807,160 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:300 +#: src/forms/PurchaseOrderForms.tsx:289 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 +#: src/forms/PurchaseOrderForms.tsx:297 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:317 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:327 +#: src/forms/PurchaseOrderForms.tsx:316 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:321 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:343 -#: src/forms/PurchaseOrderForms.tsx:435 +#: src/forms/PurchaseOrderForms.tsx:332 +#: src/forms/PurchaseOrderForms.tsx:428 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:388 +#: src/forms/PurchaseOrderForms.tsx:380 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:396 +#: src/forms/PurchaseOrderForms.tsx:388 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:405 -#: src/forms/StockForms.tsx:420 +#: src/forms/PurchaseOrderForms.tsx:397 +#: src/forms/StockForms.tsx:411 msgid "Adjust Packaging" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:412 +#: src/forms/PurchaseOrderForms.tsx:405 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 +#: src/forms/PurchaseOrderForms.tsx:411 msgid "Add Note" msgstr "" #: src/forms/PurchaseOrderForms.tsx:444 #: src/forms/StockForms.tsx:428 -msgid "Remove item from list" -msgstr "" +#~ msgid "Remove item from list" +#~ msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 -#: src/pages/stock/StockDetail.tsx:181 +#: src/forms/PurchaseOrderForms.tsx:458 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 +#: src/pages/stock/StockDetail.tsx:177 #: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:486 +#: src/forms/PurchaseOrderForms.tsx:473 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:499 +#: src/forms/PurchaseOrderForms.tsx:488 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:509 +#: src/forms/PurchaseOrderForms.tsx:500 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:524 -#: src/pages/build/BuildDetail.tsx:219 -#: src/pages/stock/StockDetail.tsx:162 -#: src/pages/stock/StockDetail.tsx:599 +#: src/forms/PurchaseOrderForms.tsx:521 +#: src/pages/build/BuildDetail.tsx:215 +#: src/pages/stock/StockDetail.tsx:158 +#: src/pages/stock/StockDetail.tsx:583 #: src/tables/build/BuildAllocatedStockTable.tsx:109 -#: src/tables/build/BuildOrderTestTable.tsx:188 +#: src/tables/build/BuildOrderTestTable.tsx:189 #: src/tables/sales/SalesOrderAllocationTable.tsx:87 msgid "Batch Code" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:535 +#: src/forms/PurchaseOrderForms.tsx:533 msgid "Serial numbers" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:544 -#: src/forms/StockForms.tsx:443 -#: src/pages/company/SupplierPartDetail.tsx:156 -#: src/pages/company/SupplierPartDetail.tsx:207 -#: src/pages/stock/StockDetail.tsx:244 +#: src/forms/PurchaseOrderForms.tsx:543 +#: src/forms/StockForms.tsx:428 +#: src/pages/company/SupplierPartDetail.tsx:152 +#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/stock/StockDetail.tsx:240 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:556 -#: src/pages/build/BuildDetail.tsx:109 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:148 -#: src/pages/sales/ReturnOrderDetail.tsx:121 -#: src/pages/sales/SalesOrderDetail.tsx:127 -#: src/tables/build/BuildOrderTable.tsx:122 +#: src/pages/build/BuildDetail.tsx:105 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 +#: src/pages/sales/ReturnOrderDetail.tsx:117 +#: src/pages/sales/SalesOrderDetail.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/machine/MachineListTable.tsx:335 #: src/tables/part/PartPurchaseOrdersTable.tsx:37 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderLineItemTable.tsx:132 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:53 +#: src/tables/settings/CustomStateTable.tsx:57 #: src/tables/settings/ImportSessionTable.tsx:115 #: src/tables/stock/StockItemTable.tsx:294 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:564 -#: src/pages/company/SupplierPartDetail.tsx:110 +#: src/forms/PurchaseOrderForms.tsx:565 +#: src/pages/company/SupplierPartDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/pages/company/SupplierPartDetail.tsx:128 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/pages/company/SupplierPartDetail.tsx:124 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 +#: src/forms/PurchaseOrderForms.tsx:641 #: src/tables/part/PartPurchaseOrdersTable.tsx:120 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 #: src/tables/sales/ReturnOrderLineItemTable.tsx:127 msgid "Received" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/PurchaseOrderForms.tsx:641 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:413 #: src/tables/RowActions.tsx:113 msgid "Actions" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:655 +#: src/forms/PurchaseOrderForms.tsx:653 msgid "Receive Line Items" msgstr "" @@ -2919,7 +2968,7 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:104 +#: src/forms/StockForms.tsx:109 msgid "Add given quantity as packs instead of individual items" msgstr "" @@ -2927,98 +2976,103 @@ msgstr "" #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:117 +#: src/forms/StockForms.tsx:122 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:124 +#: src/forms/StockForms.tsx:129 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:125 +#: src/forms/StockForms.tsx:130 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" +#: src/forms/StockForms.tsx:147 +#: src/pages/stock/StockDetail.tsx:111 +msgid "Stock Status" +msgstr "" + #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:179 -#: src/pages/stock/StockDetail.tsx:434 +#: src/forms/StockForms.tsx:186 +#: src/pages/stock/StockDetail.tsx:430 #: src/tables/stock/StockItemTable.tsx:417 #: src/tables/stock/StockItemTable.tsx:535 msgid "Add Stock Item" msgstr "" -#: src/forms/StockForms.tsx:362 +#: src/forms/StockForms.tsx:352 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:399 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:533 -#: src/forms/StockForms.tsx:562 -#: src/forms/StockForms.tsx:590 -#: src/forms/StockForms.tsx:621 -#: src/forms/StockForms.tsx:656 -#: src/forms/StockForms.tsx:698 -#: src/forms/StockForms.tsx:734 +#: src/forms/StockForms.tsx:486 +#: src/forms/StockForms.tsx:523 +#: src/forms/StockForms.tsx:549 +#: src/forms/StockForms.tsx:577 +#: src/forms/StockForms.tsx:608 +#: src/forms/StockForms.tsx:643 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:723 #: src/pages/part/PartDetail.tsx:230 -#: src/pages/part/PartDetail.tsx:843 +#: src/pages/part/PartDetail.tsx:854 #: src/tables/stock/StockItemTable.tsx:325 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:486 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:562 -#: src/pages/stock/StockDetail.tsx:518 -#: src/tables/stock/StockItemTestResultTable.tsx:328 +#: src/forms/StockForms.tsx:549 +#: src/pages/stock/StockDetail.tsx:502 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:590 -#: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:508 +#: src/forms/StockForms.tsx:577 +#: src/pages/Index/Scan.tsx:280 +#: src/pages/stock/StockDetail.tsx:492 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:835 +#: src/forms/StockForms.tsx:825 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:844 +#: src/forms/StockForms.tsx:834 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:853 -#: src/pages/part/PartDetail.tsx:1017 +#: src/forms/StockForms.tsx:843 +#: src/pages/part/PartDetail.tsx:1024 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:862 -#: src/pages/part/PartDetail.tsx:1006 +#: src/forms/StockForms.tsx:852 +#: src/pages/part/PartDetail.tsx:1013 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:871 +#: src/forms/StockForms.tsx:861 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:880 +#: src/forms/StockForms.tsx:870 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:899 +#: src/forms/StockForms.tsx:889 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:896 msgid "Parent stock location" msgstr "" @@ -3140,7 +3194,7 @@ msgid "Checking if you are already logged in" msgstr "" #: src/pages/Auth/Login.tsx:31 -#: src/pages/Index/Scan.tsx:329 +#: src/pages/Index/Scan.tsx:343 msgid "No selection" msgstr "" @@ -3365,115 +3419,147 @@ msgstr "" msgid "Image Barcode" msgstr "" -#: src/pages/Index/Scan.tsx:247 +#: src/pages/Index/Scan.tsx:261 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:254 +#: src/pages/Index/Scan.tsx:268 msgid "Multiple object types selected" msgstr "" -#: src/pages/Index/Scan.tsx:261 +#: src/pages/Index/Scan.tsx:275 msgid "Actions for {0}" msgstr "" -#: src/pages/Index/Scan.tsx:282 +#: src/pages/Index/Scan.tsx:296 msgid "Scan Page" msgstr "" -#: src/pages/Index/Scan.tsx:285 +#: src/pages/Index/Scan.tsx:299 msgid "This page can be used for continuously scanning items and taking actions on them." msgstr "" -#: src/pages/Index/Scan.tsx:292 +#: src/pages/Index/Scan.tsx:306 msgid "Toggle Fullscreen" msgstr "" -#: src/pages/Index/Scan.tsx:305 +#: src/pages/Index/Scan.tsx:319 msgid "Select the input method you want to use to scan items." msgstr "" -#: src/pages/Index/Scan.tsx:307 +#: src/pages/Index/Scan.tsx:321 msgid "Input" msgstr "" -#: src/pages/Index/Scan.tsx:314 +#: src/pages/Index/Scan.tsx:328 msgid "Select input method" msgstr "" -#: src/pages/Index/Scan.tsx:315 +#: src/pages/Index/Scan.tsx:329 msgid "Nothing found" msgstr "" -#: src/pages/Index/Scan.tsx:323 +#: src/pages/Index/Scan.tsx:337 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." msgstr "" -#: src/pages/Index/Scan.tsx:325 +#: src/pages/Index/Scan.tsx:339 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:334 +#: src/pages/Index/Scan.tsx:348 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:337 +#: src/pages/Index/Scan.tsx:351 msgid "General Actions" msgstr "" -#: src/pages/Index/Scan.tsx:351 +#: src/pages/Index/Scan.tsx:365 msgid "Lookup part" msgstr "" -#: src/pages/Index/Scan.tsx:359 +#: src/pages/Index/Scan.tsx:373 msgid "Open Link" msgstr "" -#: src/pages/Index/Scan.tsx:375 +#: src/pages/Index/Scan.tsx:389 msgid "History is locally kept in this browser." msgstr "" -#: src/pages/Index/Scan.tsx:376 +#: src/pages/Index/Scan.tsx:390 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" -#: src/pages/Index/Scan.tsx:378 +#: src/pages/Index/Scan.tsx:392 #: src/pages/Notifications.tsx:100 msgid "History" msgstr "" -#: src/pages/Index/Scan.tsx:384 +#: src/pages/Index/Scan.tsx:398 msgid "Delete History" msgstr "" -#: src/pages/Index/Scan.tsx:449 +#: src/pages/Index/Scan.tsx:463 msgid "No history" msgstr "" -#: src/pages/Index/Scan.tsx:467 +#: src/pages/Index/Scan.tsx:481 msgid "Item" msgstr "" -#: src/pages/Index/Scan.tsx:470 +#: src/pages/Index/Scan.tsx:484 msgid "Type" msgstr "" -#: src/pages/Index/Scan.tsx:473 +#: src/pages/Index/Scan.tsx:487 msgid "Source" msgstr "" -#: src/pages/Index/Scan.tsx:476 +#: src/pages/Index/Scan.tsx:490 msgid "Scanned at" msgstr "" -#: src/pages/Index/Scan.tsx:528 +#: src/pages/Index/Scan.tsx:547 msgid "Enter item serial or data" msgstr "" -#: src/pages/Index/Scan.tsx:540 +#: src/pages/Index/Scan.tsx:559 msgid "Add dummy item" msgstr "" +#: src/pages/Index/Scan.tsx:569 +msgid "Start scanning by selecting a camera and pressing the play button." +msgstr "" + +#: src/pages/Index/Scan.tsx:650 +msgid "Error while getting camera" +msgstr "" + +#: src/pages/Index/Scan.tsx:673 +msgid "Error while scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:687 +msgid "Error while stopping" +msgstr "" + +#: src/pages/Index/Scan.tsx:745 +msgid "Stop scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:754 +msgid "Start scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:763 +msgid "Not scanning" +msgstr "" + +#: src/pages/Index/Scan.tsx:775 +msgid "Select Camera" +msgstr "" + #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "Account Details" msgstr "" @@ -3601,9 +3687,9 @@ msgid "No tokens configured" msgstr "" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:398 -#: src/pages/part/PartDetail.tsx:297 +#: src/pages/part/PartDetail.tsx:304 #: src/tables/bom/UsedInTable.tsx:84 -#: src/tables/build/BuildOrderTable.tsx:110 +#: src/tables/build/BuildOrderTable.tsx:109 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:332 @@ -3673,19 +3759,48 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:104 +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:26 +#: src/tables/ColumnRenderers.tsx:248 +msgid "Currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:31 +msgid "Rate" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:43 +msgid "Exchange rates updated" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:49 +msgid "Exchange rate update error" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:61 +msgid "Refresh currency exchange rates" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:98 +msgid "Last fetched" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/CurrencyManagmentPanel.tsx:99 +msgid "Base currency" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Data Import" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:110 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:116 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:122 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:126 msgid "Currencies" msgstr "" @@ -3693,41 +3808,45 @@ msgstr "" #~ msgid "Templates" #~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:140 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 +msgid "Custom States" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:146 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 #: src/pages/part/CategoryDetail.tsx:264 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:152 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:170 -msgid "Location Types" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/Index.tsx:170 #~ msgid "Location types" #~ msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:182 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:180 +msgid "Location Types" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:202 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:197 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:207 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:222 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:232 msgid "Advanced Options" msgstr "" @@ -3772,26 +3891,26 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35 msgid "Background Worker Not Running" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:36 msgid "The background task manager service is not running. Contact your system administrator." msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:43 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:59 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:44 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:67 msgid "Failed Tasks" msgstr "" @@ -3874,15 +3993,15 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:231 -#: src/pages/part/PartDetail.tsx:682 +#: src/pages/part/PartDetail.tsx:690 msgid "Stocktake" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:237 -#: src/pages/build/BuildDetail.tsx:554 +#: src/pages/build/BuildDetail.tsx:539 #: src/pages/build/BuildIndex.tsx:22 -#: src/pages/part/PartDetail.tsx:616 -#: src/pages/sales/SalesOrderDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/sales/SalesOrderDetail.tsx:329 msgid "Build Orders" msgstr "" @@ -3942,41 +4061,41 @@ msgstr "" #~ msgid "Build Status" #~ msgstr "Build Status" -#: src/pages/build/BuildDetail.tsx:102 +#: src/pages/build/BuildDetail.tsx:98 #: src/pages/part/PartDetail.tsx:150 #: src/tables/bom/BomTable.tsx:118 #: src/tables/bom/UsedInTable.tsx:39 -#: src/tables/build/BuildLineTable.tsx:173 -#: src/tables/build/BuildOrderTable.tsx:55 +#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildOrderTable.tsx:54 #: src/tables/sales/SalesOrderLineItemTable.tsx:62 #: src/tables/stock/StockItemTable.tsx:53 msgid "IPN" msgstr "" -#: src/pages/build/BuildDetail.tsx:115 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:121 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:101 +#: src/pages/build/BuildDetail.tsx:111 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:117 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:97 #: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildAllocatedStockTable.tsx:90 -#: src/tables/build/BuildLineTable.tsx:184 +#: src/tables/build/BuildLineTable.tsx:195 msgid "Reference" msgstr "" -#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/build/BuildDetail.tsx:117 #: src/pages/company/CompanyDetail.tsx:90 #: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:96 +#: src/pages/company/SupplierPartDetail.tsx:92 #: src/pages/part/CategoryDetail.tsx:101 #: src/pages/part/PartDetail.tsx:157 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:142 -#: src/pages/sales/ReturnOrderDetail.tsx:115 -#: src/pages/sales/SalesOrderDetail.tsx:121 -#: src/pages/stock/LocationDetail.tsx:109 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:138 +#: src/pages/sales/ReturnOrderDetail.tsx:111 +#: src/pages/sales/SalesOrderDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:106 #: src/tables/ColumnRenderers.tsx:81 #: src/tables/bom/UsedInTable.tsx:44 #: src/tables/build/BuildAllocatedStockTable.tsx:70 -#: src/tables/build/BuildLineTable.tsx:178 +#: src/tables/build/BuildLineTable.tsx:189 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3990,56 +4109,60 @@ msgstr "" msgid "Description" msgstr "" -#: src/pages/build/BuildDetail.tsx:129 +#: src/pages/build/BuildDetail.tsx:125 msgid "Parent Build" msgstr "" -#: src/pages/build/BuildDetail.tsx:140 +#: src/pages/build/BuildDetail.tsx:136 msgid "Build Quantity" msgstr "" -#: src/pages/build/BuildDetail.tsx:148 -#: src/pages/build/BuildDetail.tsx:274 +#: src/pages/build/BuildDetail.tsx:144 +#: src/pages/build/BuildDetail.tsx:270 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:165 -#: src/tables/build/BuildOrderTable.tsx:151 +#: src/pages/build/BuildDetail.tsx:161 +#: src/tables/build/BuildOrderTable.tsx:143 msgid "Issued By" msgstr "" -#: src/pages/build/BuildDetail.tsx:172 -#: src/pages/part/PartDetail.tsx:365 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:220 -#: src/pages/sales/ReturnOrderDetail.tsx:199 -#: src/pages/sales/SalesOrderDetail.tsx:208 -#: src/tables/build/BuildOrderTable.tsx:157 +#: src/pages/build/BuildDetail.tsx:168 +#: src/pages/part/PartDetail.tsx:372 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:195 +#: src/pages/sales/SalesOrderDetail.tsx:204 +#: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Responsible" msgstr "" -#: src/pages/build/BuildDetail.tsx:179 +#: src/pages/build/BuildDetail.tsx:175 #: src/tables/settings/PendingTasksTable.tsx:32 msgid "Created" msgstr "" +#: src/pages/build/BuildDetail.tsx:182 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:188 +#: src/pages/sales/SalesOrderDetail.tsx:197 +#: src/tables/ColumnRenderers.tsx:212 +#: src/tables/part/PartPurchaseOrdersTable.tsx:99 +#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 +#: src/tables/sales/SalesOrderLineItemTable.tsx:99 +msgid "Target Date" +msgstr "" + #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 #: src/pages/stock/StockDetail.tsx:150 #~ msgid "View part barcode" #~ msgstr "View part barcode" -#: src/pages/build/BuildDetail.tsx:186 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:213 -#: src/pages/sales/ReturnOrderDetail.tsx:192 -#: src/pages/sales/SalesOrderDetail.tsx:201 -#: src/tables/ColumnRenderers.tsx:212 -#: src/tables/part/PartPurchaseOrdersTable.tsx:99 -#: src/tables/sales/ReturnOrderLineItemTable.tsx:110 -#: src/tables/sales/SalesOrderLineItemTable.tsx:99 -msgid "Target Date" +#: src/pages/build/BuildDetail.tsx:189 +msgid "Completed" msgstr "" #: src/pages/build/BuildDetail.tsx:190 @@ -4047,28 +4170,20 @@ msgstr "" #~ msgid "Link custom barcode to part" #~ msgstr "Link custom barcode to part" -#: src/pages/build/BuildDetail.tsx:193 -msgid "Completed" -msgstr "" - #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" #: src/pages/build/BuildDetail.tsx:202 -#~ msgid "Build Order updated" -#~ msgstr "Build Order updated" - -#: src/pages/build/BuildDetail.tsx:205 -msgid "Source Location" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:206 msgid "Any location" msgstr "" -#: src/pages/build/BuildDetail.tsx:213 +#: src/pages/build/BuildDetail.tsx:202 +#~ msgid "Build Order updated" +#~ msgstr "Build Order updated" + +#: src/pages/build/BuildDetail.tsx:209 msgid "Destination Location" msgstr "" @@ -4084,70 +4199,70 @@ msgstr "" #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:251 +#: src/pages/build/BuildDetail.tsx:247 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:257 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:258 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:267 -#: src/pages/sales/ReturnOrderDetail.tsx:130 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/ReturnOrderDetail.tsx:246 -#: src/pages/sales/SalesOrderDetail.tsx:272 -#: src/pages/sales/SalesOrderDetail.tsx:281 +#: src/pages/build/BuildDetail.tsx:253 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/sales/ReturnOrderDetail.tsx:126 +#: src/pages/sales/ReturnOrderDetail.tsx:233 +#: src/pages/sales/ReturnOrderDetail.tsx:242 +#: src/pages/sales/SalesOrderDetail.tsx:268 +#: src/pages/sales/SalesOrderDetail.tsx:277 msgid "Line Items" msgstr "" -#: src/pages/build/BuildDetail.tsx:267 +#: src/pages/build/BuildDetail.tsx:263 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:289 -#: src/pages/sales/SalesOrderDetail.tsx:319 +#: src/pages/build/BuildDetail.tsx:285 +#: src/pages/sales/SalesOrderDetail.tsx:315 msgid "Allocated Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:299 +#: src/pages/build/BuildDetail.tsx:295 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:313 +#: src/pages/build/BuildDetail.tsx:309 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:326 +#: src/pages/build/BuildDetail.tsx:322 #: src/tables/build/BuildOutputTable.tsx:384 #: src/tables/stock/StockItemTestResultTable.tsx:150 msgid "Test Results" msgstr "" -#: src/pages/build/BuildDetail.tsx:337 -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/build/BuildDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:707 msgid "Test Statistics" msgstr "" -#: src/pages/build/BuildDetail.tsx:351 +#: src/pages/build/BuildDetail.tsx:347 #: src/pages/company/CompanyDetail.tsx:259 #: src/pages/company/ManufacturerPartDetail.tsx:179 -#: src/pages/part/PartDetail.tsx:721 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:309 -#: src/pages/sales/ReturnOrderDetail.tsx:274 -#: src/pages/sales/SalesOrderDetail.tsx:343 -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/part/PartDetail.tsx:729 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:305 +#: src/pages/sales/ReturnOrderDetail.tsx:270 +#: src/pages/sales/SalesOrderDetail.tsx:339 +#: src/pages/stock/StockDetail.tsx:381 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:359 +#: src/pages/build/BuildDetail.tsx:355 #: src/pages/company/CompanyDetail.tsx:270 #: src/pages/company/ManufacturerPartDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:257 -#: src/pages/part/PartDetail.tsx:729 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:320 -#: src/pages/sales/ReturnOrderDetail.tsx:285 -#: src/pages/sales/SalesOrderDetail.tsx:354 -#: src/pages/stock/StockDetail.tsx:396 -#: src/tables/build/BuildOrderTestTable.tsx:142 +#: src/pages/company/SupplierPartDetail.tsx:253 +#: src/pages/part/PartDetail.tsx:737 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 +#: src/pages/sales/ReturnOrderDetail.tsx:281 +#: src/pages/sales/SalesOrderDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:392 +#: src/tables/build/BuildOrderTestTable.tsx:143 #: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" @@ -4156,134 +4271,134 @@ msgstr "" #~ msgid "Reporting Actions" #~ msgstr "Reporting Actions" +#: src/pages/build/BuildDetail.tsx:373 +msgid "Edit Build Order" +msgstr "" + #: src/pages/build/BuildDetail.tsx:374 #~ msgid "Print build report" #~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:377 -msgid "Edit Build Order" -msgstr "" - -#: src/pages/build/BuildDetail.tsx:384 -#: src/tables/build/BuildOrderTable.tsx:172 -#: src/tables/build/BuildOrderTable.tsx:187 +#: src/pages/build/BuildDetail.tsx:380 +#: src/tables/build/BuildOrderTable.tsx:164 +#: src/tables/build/BuildOrderTable.tsx:179 msgid "Add Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:398 +#: src/pages/build/BuildDetail.tsx:394 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:400 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:348 -#: src/pages/sales/SalesOrderDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:396 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:344 +#: src/pages/sales/SalesOrderDetail.tsx:376 msgid "Order cancelled" msgstr "" -#: src/pages/build/BuildDetail.tsx:401 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:347 -#: src/pages/sales/ReturnOrderDetail.tsx:346 -#: src/pages/sales/SalesOrderDetail.tsx:379 +#: src/pages/build/BuildDetail.tsx:397 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:343 +#: src/pages/sales/ReturnOrderDetail.tsx:342 +#: src/pages/sales/SalesOrderDetail.tsx:375 msgid "Cancel this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:410 +#: src/pages/build/BuildDetail.tsx:406 msgid "Hold Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:412 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 -#: src/pages/sales/ReturnOrderDetail.tsx:354 -#: src/pages/sales/SalesOrderDetail.tsx:387 +#: src/pages/build/BuildDetail.tsx:408 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:351 +#: src/pages/sales/ReturnOrderDetail.tsx:350 +#: src/pages/sales/SalesOrderDetail.tsx:383 msgid "Place this order on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:413 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:356 -#: src/pages/sales/ReturnOrderDetail.tsx:355 -#: src/pages/sales/SalesOrderDetail.tsx:388 +#: src/pages/build/BuildDetail.tsx:409 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:351 +#: src/pages/sales/SalesOrderDetail.tsx:384 msgid "Order placed on hold" msgstr "" -#: src/pages/build/BuildDetail.tsx:418 +#: src/pages/build/BuildDetail.tsx:414 msgid "Issue Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:420 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:339 -#: src/pages/sales/ReturnOrderDetail.tsx:338 -#: src/pages/sales/SalesOrderDetail.tsx:371 +#: src/pages/build/BuildDetail.tsx:416 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:335 +#: src/pages/sales/ReturnOrderDetail.tsx:334 +#: src/pages/sales/SalesOrderDetail.tsx:367 msgid "Issue this order" msgstr "" -#: src/pages/build/BuildDetail.tsx:421 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:340 -#: src/pages/sales/ReturnOrderDetail.tsx:339 -#: src/pages/sales/SalesOrderDetail.tsx:372 +#: src/pages/build/BuildDetail.tsx:417 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:335 +#: src/pages/sales/SalesOrderDetail.tsx:368 msgid "Order issued" msgstr "" -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/build/BuildDetail.tsx:422 msgid "Complete Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:428 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:368 -#: src/pages/sales/ReturnOrderDetail.tsx:362 -#: src/pages/sales/SalesOrderDetail.tsx:395 +#: src/pages/build/BuildDetail.tsx:424 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:364 +#: src/pages/sales/ReturnOrderDetail.tsx:358 +#: src/pages/sales/SalesOrderDetail.tsx:391 msgid "Mark this order as complete" msgstr "" -#: src/pages/build/BuildDetail.tsx:429 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 -#: src/pages/sales/ReturnOrderDetail.tsx:363 -#: src/pages/sales/SalesOrderDetail.tsx:396 +#: src/pages/build/BuildDetail.tsx:425 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/sales/ReturnOrderDetail.tsx:359 +#: src/pages/sales/SalesOrderDetail.tsx:392 msgid "Order completed" msgstr "" -#: src/pages/build/BuildDetail.tsx:460 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:391 -#: src/pages/sales/ReturnOrderDetail.tsx:392 -#: src/pages/sales/SalesOrderDetail.tsx:425 +#: src/pages/build/BuildDetail.tsx:456 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:387 +#: src/pages/sales/ReturnOrderDetail.tsx:388 +#: src/pages/sales/SalesOrderDetail.tsx:421 msgid "Issue Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:467 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:398 -#: src/pages/sales/ReturnOrderDetail.tsx:399 -#: src/pages/sales/SalesOrderDetail.tsx:439 +#: src/pages/build/BuildDetail.tsx:463 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:394 +#: src/pages/sales/ReturnOrderDetail.tsx:395 +#: src/pages/sales/SalesOrderDetail.tsx:435 msgid "Complete Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:496 +#: src/pages/build/BuildDetail.tsx:481 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:502 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:432 -#: src/pages/sales/ReturnOrderDetail.tsx:433 -#: src/pages/sales/SalesOrderDetail.tsx:474 +#: src/pages/build/BuildDetail.tsx:487 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:417 +#: src/pages/sales/ReturnOrderDetail.tsx:418 +#: src/pages/sales/SalesOrderDetail.tsx:459 msgid "Edit order" msgstr "" -#: src/pages/build/BuildDetail.tsx:506 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:440 -#: src/pages/sales/ReturnOrderDetail.tsx:439 -#: src/pages/sales/SalesOrderDetail.tsx:479 +#: src/pages/build/BuildDetail.tsx:491 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:425 +#: src/pages/sales/ReturnOrderDetail.tsx:424 +#: src/pages/sales/SalesOrderDetail.tsx:464 msgid "Duplicate order" msgstr "" -#: src/pages/build/BuildDetail.tsx:510 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:443 -#: src/pages/sales/ReturnOrderDetail.tsx:444 -#: src/pages/sales/SalesOrderDetail.tsx:482 +#: src/pages/build/BuildDetail.tsx:495 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:428 +#: src/pages/sales/ReturnOrderDetail.tsx:429 +#: src/pages/sales/SalesOrderDetail.tsx:467 msgid "Hold order" msgstr "" -#: src/pages/build/BuildDetail.tsx:515 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:448 -#: src/pages/sales/ReturnOrderDetail.tsx:449 -#: src/pages/sales/SalesOrderDetail.tsx:487 +#: src/pages/build/BuildDetail.tsx:500 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:433 +#: src/pages/sales/ReturnOrderDetail.tsx:434 +#: src/pages/sales/SalesOrderDetail.tsx:472 msgid "Cancel order" msgstr "" @@ -4309,10 +4424,10 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:126 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:120 -#: src/pages/company/SupplierPartDetail.tsx:206 -#: src/pages/company/SupplierPartDetail.tsx:351 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:136 +#: src/pages/company/SupplierPartDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:202 +#: src/pages/company/SupplierPartDetail.tsx:333 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:132 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/part/PartPurchaseOrdersTable.tsx:42 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 @@ -4324,7 +4439,7 @@ msgstr "" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:101 #: src/pages/company/ManufacturerPartDetail.tsx:267 -#: src/pages/company/SupplierPartDetail.tsx:135 +#: src/pages/company/SupplierPartDetail.tsx:131 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" @@ -4332,9 +4447,9 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:138 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:29 -#: src/pages/sales/ReturnOrderDetail.tsx:109 -#: src/pages/sales/SalesOrderDetail.tsx:115 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/sales/ReturnOrderDetail.tsx:105 +#: src/pages/sales/SalesOrderDetail.tsx:111 +#: src/pages/stock/StockDetail.tsx:226 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:108 @@ -4381,18 +4496,18 @@ msgid "Company Actions" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:76 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/SupplierPartDetail.tsx:85 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:128 msgid "Internal Part" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:91 -#: src/pages/company/SupplierPartDetail.tsx:103 +#: src/pages/company/SupplierPartDetail.tsx:99 msgid "External Link" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:109 -#: src/pages/company/SupplierPartDetail.tsx:144 +#: src/pages/company/SupplierPartDetail.tsx:140 #: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" @@ -4406,12 +4521,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:153 -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:539 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:165 -#: src/pages/part/PartDetail.tsx:649 +#: src/pages/part/PartDetail.tsx:657 #: src/pages/purchasing/PurchasingIndex.tsx:31 msgid "Suppliers" msgstr "" @@ -4440,7 +4555,7 @@ msgstr "" msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:163 +#: src/pages/company/SupplierPartDetail.tsx:159 #: src/tables/part/PartPurchaseOrdersTable.tsx:71 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:156 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197 @@ -4448,54 +4563,54 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:174 +#: src/pages/company/SupplierPartDetail.tsx:170 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:181 +#: src/pages/company/SupplierPartDetail.tsx:177 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:208 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:217 +#: src/pages/company/SupplierPartDetail.tsx:213 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:296 +#: src/pages/company/SupplierPartDetail.tsx:219 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:292 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:247 +#: src/pages/company/SupplierPartDetail.tsx:243 #: src/pages/part/PartPricingPanel.tsx:111 #: src/pages/part/pricing/PricingOverviewPanel.tsx:121 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:294 +#: src/pages/company/SupplierPartDetail.tsx:276 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:319 +#: src/pages/company/SupplierPartDetail.tsx:301 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:327 +#: src/pages/company/SupplierPartDetail.tsx:309 #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:335 +#: src/pages/company/SupplierPartDetail.tsx:317 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" #: src/pages/part/CategoryDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:101 +#: src/pages/stock/LocationDetail.tsx:98 #: src/tables/settings/ErrorTable.tsx:36 msgid "Path" msgstr "" @@ -4509,7 +4624,7 @@ msgid "Subcategories" msgstr "" #: src/pages/part/CategoryDetail.tsx:133 -#: src/pages/stock/LocationDetail.tsx:141 +#: src/pages/stock/LocationDetail.tsx:138 #: src/tables/part/PartCategoryTable.tsx:73 #: src/tables/stock/StockLocationTable.tsx:49 msgid "Structural" @@ -4534,7 +4649,7 @@ msgid "Edit Part Category" msgstr "" #: src/pages/part/CategoryDetail.tsx:180 -#: src/pages/stock/LocationDetail.tsx:233 +#: src/pages/stock/LocationDetail.tsx:230 msgid "Delete items" msgstr "" @@ -4604,16 +4719,9 @@ msgstr "" msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:218 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:186 -#: src/pages/sales/ReturnOrderDetail.tsx:165 -#: src/pages/sales/SalesOrderDetail.tsx:174 -msgid "Link" -msgstr "" - #: src/pages/part/PartDetail.tsx:236 #: src/tables/bom/BomTable.tsx:320 -#: src/tables/build/BuildLineTable.tsx:155 +#: src/tables/build/BuildLineTable.tsx:166 #: src/tables/part/PartTable.tsx:288 #: src/tables/sales/SalesOrderLineItemTable.tsx:103 msgid "Available Stock" @@ -4629,232 +4737,237 @@ msgstr "" #: src/pages/part/PartDetail.tsx:257 #: src/tables/bom/BomTable.tsx:237 -#: src/tables/build/BuildLineTable.tsx:117 +#: src/tables/build/BuildLineTable.tsx:128 #: src/tables/sales/SalesOrderLineItemTable.tsx:141 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:264 +msgid "Required for Orders" +msgstr "" + +#: src/pages/part/PartDetail.tsx:273 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:274 +#: src/pages/part/PartDetail.tsx:281 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:281 +#: src/pages/part/PartDetail.tsx:288 #: src/tables/bom/BomTable.tsx:261 #: src/tables/bom/BomTable.tsx:293 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:288 -#: src/tables/bom/BomTable.tsx:245 -#: src/tables/part/PartTable.tsx:92 -msgid "Building" +#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:884 +#: src/pages/stock/StockDetail.tsx:560 +#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/stock/StockItemTable.tsx:330 +msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:302 -#: src/pages/part/PartDetail.tsx:873 +#: src/pages/part/PartDetail.tsx:309 +#: src/pages/part/PartDetail.tsx:890 #: src/tables/part/ParametricPartTable.tsx:228 #: src/tables/part/PartTable.tsx:184 msgid "Locked" msgstr "" -#: src/pages/part/PartDetail.tsx:308 -msgid "Template Part" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 -#: src/tables/bom/BomTable.tsx:315 -msgid "Assembled Part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:318 -msgid "Component Part" +#: src/pages/part/PartDetail.tsx:320 +#: src/tables/bom/BomTable.tsx:315 +msgid "Assembled Part" msgstr "" #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:323 -#: src/tables/bom/BomTable.tsx:305 -msgid "Testable Part" +#: src/pages/part/PartDetail.tsx:325 +msgid "Component Part" msgstr "" #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 +#: src/tables/bom/BomTable.tsx:305 +msgid "Testable Part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:336 #: src/tables/bom/BomTable.tsx:310 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:334 +#: src/pages/part/PartDetail.tsx:341 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: src/pages/part/PartDetail.tsx:346 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:344 +#: src/pages/part/PartDetail.tsx:351 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:352 +#: src/pages/part/PartDetail.tsx:359 #: src/tables/ColumnRenderers.tsx:220 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:357 +#: src/pages/part/PartDetail.tsx:364 msgid "Created By" msgstr "" -#: src/pages/part/PartDetail.tsx:372 +#: src/pages/part/PartDetail.tsx:379 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:383 +#: src/pages/part/PartDetail.tsx:390 #: src/pages/part/pricing/BomPricingPanel.tsx:79 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 #: src/tables/part/PartTable.tsx:161 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:423 -#: src/pages/stock/StockDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:131 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:462 +#: src/pages/part/PartDetail.tsx:469 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:526 +#: src/pages/part/PartDetail.tsx:533 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:557 +#: src/pages/part/PartDetail.tsx:564 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:564 -#: src/pages/stock/StockDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:571 +#: src/pages/stock/StockDetail.tsx:303 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:575 -#: src/pages/stock/StockDetail.tsx:318 +#: src/pages/part/PartDetail.tsx:582 +#: src/pages/stock/StockDetail.tsx:314 #: src/tables/part/PartTable.tsx:99 msgid "Build Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:590 -#: src/pages/stock/StockDetail.tsx:333 +#: src/pages/part/PartDetail.tsx:598 +#: src/pages/stock/StockDetail.tsx:329 #: src/tables/part/PartTable.tsx:108 msgid "Sales Order Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:615 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:623 +#: src/pages/part/PartDetail.tsx:631 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:630 +#: src/pages/part/PartDetail.tsx:638 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:636 +#: src/pages/part/PartDetail.tsx:644 #: src/pages/purchasing/PurchasingIndex.tsx:42 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:676 +#: src/pages/part/PartDetail.tsx:684 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:688 +#: src/pages/part/PartDetail.tsx:696 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:715 +#: src/pages/part/PartDetail.tsx:723 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:849 -#: src/pages/stock/StockDetail.tsx:156 -#: src/pages/stock/StockDetail.tsx:593 -#: src/tables/build/BuildLineTable.tsx:48 +#: src/pages/part/PartDetail.tsx:860 +#: src/pages/stock/StockDetail.tsx:152 +#: src/pages/stock/StockDetail.tsx:577 +#: src/tables/build/BuildLineTable.tsx:59 #: src/tables/part/PartTable.tsx:117 #: src/tables/stock/StockItemTable.tsx:177 #: src/tables/stock/StockItemTable.tsx:310 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:855 +#: src/pages/part/PartDetail.tsx:866 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:861 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTestTemplateTable.tsx:106 +#: src/tables/stock/StockItemTestResultTable.tsx:366 +msgid "Required" +msgstr "" + +#: src/pages/part/PartDetail.tsx:878 #: src/tables/bom/BomTable.tsx:325 #: src/tables/part/PartTable.tsx:86 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:867 -#: src/pages/stock/StockDetail.tsx:576 -#: src/tables/build/BuildOrderTestTable.tsx:219 -#: src/tables/stock/StockItemTable.tsx:330 -msgid "In Production" -msgstr "" - -#: src/pages/part/PartDetail.tsx:892 +#: src/pages/part/PartDetail.tsx:909 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:927 +#: src/pages/part/PartDetail.tsx:944 #: src/tables/part/PartTable.tsx:331 #: src/tables/part/PartTable.tsx:342 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:941 +#: src/pages/part/PartDetail.tsx:958 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:950 +#: src/pages/part/PartDetail.tsx:967 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:999 -#: src/pages/stock/LocationDetail.tsx:324 +#: src/pages/part/PartDetail.tsx:1006 +#: src/pages/stock/LocationDetail.tsx:313 #: src/tables/stock/StockItemTable.tsx:444 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1007 +#: src/pages/part/PartDetail.tsx:1014 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1018 +#: src/pages/part/PartDetail.tsx:1025 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:1027 +#: src/pages/part/PartDetail.tsx:1034 msgid "Part Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:1087 +#: src/pages/part/PartDetail.tsx:1094 msgid "Select Part Revision" msgstr "" @@ -5015,7 +5128,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:175 -#: src/pages/stock/StockDetail.tsx:129 +#: src/pages/stock/StockDetail.tsx:125 #: src/tables/stock/StockItemTable.tsx:240 msgid "Last Updated" msgstr "" @@ -5047,7 +5160,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 #: src/tables/ColumnRenderers.tsx:201 -#: src/tables/build/BuildOrderTestTable.tsx:150 +#: src/tables/build/BuildOrderTestTable.tsx:151 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -5075,23 +5188,23 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:93 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:89 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:102 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:98 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:127 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:123 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:158 -#: src/pages/sales/ReturnOrderDetail.tsx:137 -#: src/pages/sales/SalesOrderDetail.tsx:137 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:133 +#: src/pages/sales/SalesOrderDetail.tsx:133 msgid "Completed Line Items" msgstr "" @@ -5101,91 +5214,91 @@ msgstr "" #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:165 -#: src/pages/sales/ReturnOrderDetail.tsx:144 -#: src/pages/sales/SalesOrderDetail.tsx:153 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:140 +#: src/pages/sales/SalesOrderDetail.tsx:149 msgid "Order Currency" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:172 -#: src/pages/sales/ReturnOrderDetail.tsx:151 -#: src/pages/sales/SalesOrderDetail.tsx:160 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:147 +#: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:186 -#: src/pages/sales/SalesOrderDetail.tsx:195 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:182 +#: src/pages/sales/SalesOrderDetail.tsx:191 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:231 -#: src/pages/sales/SalesOrderDetail.tsx:266 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:262 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:280 -#: src/pages/sales/ReturnOrderDetail.tsx:258 -#: src/pages/sales/SalesOrderDetail.tsx:297 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:254 +#: src/pages/sales/SalesOrderDetail.tsx:293 msgid "Extra Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:337 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 msgid "Issue Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:345 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:341 msgid "Cancel Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:353 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:349 msgid "Hold Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:361 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:357 msgid "Complete Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:427 -#: src/pages/sales/ReturnOrderDetail.tsx:428 -#: src/pages/sales/SalesOrderDetail.tsx:468 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:412 +#: src/pages/sales/ReturnOrderDetail.tsx:413 +#: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:101 -#: src/pages/sales/SalesOrderDetail.tsx:107 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:103 #: src/tables/sales/SalesOrderTable.tsx:124 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:315 +#: src/pages/sales/ReturnOrderDetail.tsx:311 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:324 +#: src/pages/sales/ReturnOrderDetail.tsx:320 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:336 +#: src/pages/sales/ReturnOrderDetail.tsx:332 msgid "Issue Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:344 +#: src/pages/sales/ReturnOrderDetail.tsx:340 msgid "Cancel Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:347 +#: src/pages/sales/ReturnOrderDetail.tsx:343 msgid "Order canceled" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:352 +#: src/pages/sales/ReturnOrderDetail.tsx:348 msgid "Hold Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:360 +#: src/pages/sales/ReturnOrderDetail.tsx:356 msgid "Complete Return Order" msgstr "" @@ -5193,15 +5306,15 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:145 +#: src/pages/sales/SalesOrderDetail.tsx:141 msgid "Completed Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:243 +#: src/pages/sales/SalesOrderDetail.tsx:239 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:252 +#: src/pages/sales/SalesOrderDetail.tsx:248 #: src/tables/sales/SalesOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:96 msgid "Add Sales Order" @@ -5211,99 +5324,95 @@ msgstr "" #~ msgid "Pending Shipments" #~ msgstr "Pending Shipments" -#: src/pages/sales/SalesOrderDetail.tsx:313 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Shipments" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:369 +#: src/pages/sales/SalesOrderDetail.tsx:365 msgid "Issue Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:377 +#: src/pages/sales/SalesOrderDetail.tsx:373 msgid "Cancel Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:385 +#: src/pages/sales/SalesOrderDetail.tsx:381 msgid "Hold Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:393 +#: src/pages/sales/SalesOrderDetail.tsx:389 msgid "Complete Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:432 +#: src/pages/sales/SalesOrderDetail.tsx:428 msgid "Ship Order" msgstr "" -#: src/pages/stock/LocationDetail.tsx:117 +#: src/pages/stock/LocationDetail.tsx:114 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:132 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:147 +#: src/pages/stock/LocationDetail.tsx:144 #: src/tables/stock/StockLocationTable.tsx:54 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:153 +#: src/pages/stock/LocationDetail.tsx:150 #: src/tables/stock/StockLocationTable.tsx:63 msgid "Location Type" msgstr "" -#: src/pages/stock/LocationDetail.tsx:164 +#: src/pages/stock/LocationDetail.tsx:161 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:175 +#: src/pages/stock/LocationDetail.tsx:172 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:201 +#: src/pages/stock/LocationDetail.tsx:198 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:220 -#: src/pages/stock/LocationDetail.tsx:351 +#: src/pages/stock/LocationDetail.tsx:217 +#: src/pages/stock/LocationDetail.tsx:340 #: src/tables/stock/StockLocationTable.tsx:123 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:241 -#: src/pages/stock/LocationDetail.tsx:356 +#: src/pages/stock/LocationDetail.tsx:238 +#: src/pages/stock/LocationDetail.tsx:345 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:244 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:245 +#: src/pages/stock/LocationDetail.tsx:242 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:250 +#: src/pages/stock/LocationDetail.tsx:247 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:251 +#: src/pages/stock/LocationDetail.tsx:248 msgid "Action for child locations in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:346 +#: src/pages/stock/LocationDetail.tsx:335 msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:108 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:115 -msgid "Stock Status" -msgstr "" - #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" @@ -5312,11 +5421,11 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:184 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:204 +#: src/pages/stock/StockDetail.tsx:200 msgid "Consumed By" msgstr "" @@ -5324,7 +5433,7 @@ msgstr "" #~ msgid "Edit stock item" #~ msgstr "Edit stock item" -#: src/pages/stock/StockDetail.tsx:213 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/build/BuildAllocatedStockTable.tsx:64 #: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" @@ -5334,27 +5443,27 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:291 +#: src/pages/stock/StockDetail.tsx:287 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:297 +#: src/pages/stock/StockDetail.tsx:293 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:350 +#: src/pages/stock/StockDetail.tsx:346 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:364 +#: src/pages/stock/StockDetail.tsx:360 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:371 +#: src/pages/stock/StockDetail.tsx:367 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:425 +#: src/pages/stock/StockDetail.tsx:421 msgid "Edit Stock Item" msgstr "" @@ -5362,38 +5471,38 @@ msgstr "" #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:452 +#: src/pages/stock/StockDetail.tsx:448 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:504 +#: src/pages/stock/StockDetail.tsx:488 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:509 +#: src/pages/stock/StockDetail.tsx:493 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:519 +#: src/pages/stock/StockDetail.tsx:503 #: src/tables/stock/StockItemTable.tsx:449 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:527 +#: src/pages/stock/StockDetail.tsx:511 #: src/tables/stock/StockItemTable.tsx:458 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:534 +#: src/pages/stock/StockDetail.tsx:518 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:535 +#: src/pages/stock/StockDetail.tsx:519 #: src/tables/stock/StockItemTable.tsx:478 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:546 +#: src/pages/stock/StockDetail.tsx:530 msgid "Stock Item Actions" msgstr "" @@ -5414,11 +5523,6 @@ msgstr "" msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:248 -#: src/tables/settings/CurrencyTable.tsx:23 -msgid "Currency" -msgstr "" - #: src/tables/ColumnSelect.tsx:16 #: src/tables/ColumnSelect.tsx:23 msgid "Select Columns" @@ -5453,12 +5557,12 @@ msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:89 -#: src/tables/build/BuildOrderTable.tsx:135 +#: src/tables/build/BuildOrderTable.tsx:127 msgid "Assigned to me" msgstr "" #: src/tables/Filter.tsx:90 -#: src/tables/build/BuildOrderTable.tsx:136 +#: src/tables/build/BuildOrderTable.tsx:128 msgid "Show orders assigned to me" msgstr "" @@ -5471,7 +5575,7 @@ msgid "Show outstanding orders" msgstr "" #: src/tables/Filter.tsx:105 -#: src/tables/build/BuildOrderTable.tsx:128 +#: src/tables/build/BuildOrderTable.tsx:120 msgid "Overdue" msgstr "" @@ -5483,60 +5587,60 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:130 +#: src/tables/FilterSelectDrawer.tsx:135 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:131 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:138 -#: src/tables/build/BuildOrderTestTable.tsx:134 +#: src/tables/FilterSelectDrawer.tsx:143 +#: src/tables/build/BuildOrderTestTable.tsx:135 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 #: src/tables/stock/StockItemTestResultTable.tsx:186 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:140 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:183 +#: src/tables/FilterSelectDrawer.tsx:188 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:215 +#: src/tables/FilterSelectDrawer.tsx:220 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:224 +#: src/tables/FilterSelectDrawer.tsx:229 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:123 -#: src/tables/InvenTreeTable.tsx:431 -#: src/tables/InvenTreeTable.tsx:455 +#: src/tables/InvenTreeTable.tsx:122 +#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:454 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:466 +#: src/tables/InvenTreeTable.tsx:465 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:474 +#: src/tables/InvenTreeTable.tsx:473 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:477 +#: src/tables/InvenTreeTable.tsx:476 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:483 +#: src/tables/InvenTreeTable.tsx:482 msgid "Not found" msgstr "" @@ -5544,15 +5648,15 @@ msgstr "" #~ msgid "Are you sure you want to delete the selected records?" #~ msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:525 +#: src/tables/InvenTreeTable.tsx:524 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTable.tsx:529 +#: src/tables/InvenTreeTable.tsx:528 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/InvenTreeTable.tsx:530 msgid "This action cannot be undone!" msgstr "" @@ -5573,26 +5677,26 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:618 -#: src/tables/InvenTreeTable.tsx:619 +#: src/tables/InvenTreeTable.tsx:624 +#: src/tables/InvenTreeTable.tsx:625 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:628 +#: src/tables/InvenTreeTable.tsx:634 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:649 +#: src/tables/InvenTreeTable.tsx:655 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:675 +#: src/tables/InvenTreeTable.tsx:681 msgid "Table filters" msgstr "" #: src/tables/TableHoverCard.tsx:35 -msgid "item-{idx}" -msgstr "" +#~ msgid "item-{idx}" +#~ msgstr "item-{idx}" #: src/tables/UploadAction.tsx:7 #~ msgid "Upload Data" @@ -5607,22 +5711,27 @@ msgid "Part Information" msgstr "" #: src/tables/bom/BomTable.tsx:212 -#: src/tables/build/BuildLineTable.tsx:126 +#: src/tables/build/BuildLineTable.tsx:137 #: src/tables/part/PartTable.tsx:125 msgid "External stock" msgstr "" #: src/tables/bom/BomTable.tsx:220 -#: src/tables/build/BuildLineTable.tsx:89 +#: src/tables/build/BuildLineTable.tsx:100 msgid "Includes substitute stock" msgstr "" #: src/tables/bom/BomTable.tsx:229 -#: src/tables/build/BuildLineTable.tsx:99 +#: src/tables/build/BuildLineTable.tsx:110 #: src/tables/sales/SalesOrderLineItemTable.tsx:127 msgid "Includes variant stock" msgstr "" +#: src/tables/bom/BomTable.tsx:245 +#: src/tables/part/PartTable.tsx:92 +msgid "Building" +msgstr "" + #: src/tables/bom/BomTable.tsx:254 #: src/tables/part/PartTable.tsx:153 #: src/tables/sales/SalesOrderLineItemTable.tsx:150 @@ -5631,7 +5740,7 @@ msgid "Stock Information" msgstr "" #: src/tables/bom/BomTable.tsx:285 -#: src/tables/build/BuildLineTable.tsx:248 +#: src/tables/build/BuildLineTable.tsx:260 msgid "Consumable item" msgstr "" @@ -5644,7 +5753,7 @@ msgstr "" #~ msgstr "Create BOM Item" #: src/tables/bom/BomTable.tsx:306 -#: src/tables/build/BuildLineTable.tsx:69 +#: src/tables/build/BuildLineTable.tsx:80 msgid "Show testable items" msgstr "" @@ -5657,7 +5766,7 @@ msgid "Show trackable items" msgstr "" #: src/tables/bom/BomTable.tsx:316 -#: src/tables/build/BuildLineTable.tsx:64 +#: src/tables/build/BuildLineTable.tsx:75 msgid "Show assembled items" msgstr "" @@ -5705,7 +5814,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:345 #: src/tables/bom/UsedInTable.tsx:79 -#: src/tables/build/BuildLineTable.tsx:58 +#: src/tables/build/BuildLineTable.tsx:69 msgid "Optional" msgstr "" @@ -5723,7 +5832,7 @@ msgstr "" #~ msgstr "Bom item deleted" #: src/tables/bom/BomTable.tsx:350 -#: src/tables/build/BuildLineTable.tsx:53 +#: src/tables/build/BuildLineTable.tsx:64 msgid "Consumable" msgstr "" @@ -5823,7 +5932,7 @@ msgid "Bill of materials cannot be edited, as the part is locked" msgstr "" #: src/tables/bom/UsedInTable.tsx:33 -#: src/tables/build/BuildLineTable.tsx:63 +#: src/tables/build/BuildLineTable.tsx:74 #: src/tables/part/ParametricPartTable.tsx:233 #: src/tables/part/PartTable.tsx:190 #: src/tables/stock/StockItemTable.tsx:300 @@ -5869,8 +5978,8 @@ msgid "Available Quantity" msgstr "" #: src/tables/build/BuildAllocatedStockTable.tsx:126 -#: src/tables/build/BuildOrderTestTable.tsx:176 -#: src/tables/build/BuildOrderTestTable.tsx:200 +#: src/tables/build/BuildOrderTestTable.tsx:177 +#: src/tables/build/BuildOrderTestTable.tsx:201 #: src/tables/build/BuildOutputTable.tsx:312 msgid "Build Output" msgstr "" @@ -5883,94 +5992,109 @@ msgstr "" msgid "Delete Build Item" msgstr "" -#: src/tables/build/BuildLineTable.tsx:43 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Allocated" -msgstr "" - -#: src/tables/build/BuildLineTable.tsx:44 +#: src/tables/build/BuildLineTable.tsx:55 msgid "Show allocated lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:49 +#: src/tables/build/BuildLineTable.tsx:60 msgid "Show lines with available stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:54 +#: src/tables/build/BuildLineTable.tsx:65 msgid "Show consumable lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:59 +#: src/tables/build/BuildLineTable.tsx:70 msgid "Show optional lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:68 +#: src/tables/build/BuildLineTable.tsx:79 #: src/tables/part/PartTable.tsx:208 msgid "Testable" msgstr "" -#: src/tables/build/BuildLineTable.tsx:73 +#: src/tables/build/BuildLineTable.tsx:84 #: src/tables/stock/StockItemTable.tsx:364 msgid "Tracked" msgstr "" -#: src/tables/build/BuildLineTable.tsx:74 +#: src/tables/build/BuildLineTable.tsx:85 msgid "Show tracked lines" msgstr "" -#: src/tables/build/BuildLineTable.tsx:108 +#: src/tables/build/BuildLineTable.tsx:119 #: src/tables/sales/SalesOrderLineItemTable.tsx:133 msgid "In production" msgstr "" -#: src/tables/build/BuildLineTable.tsx:136 +#: src/tables/build/BuildLineTable.tsx:147 msgid "Insufficient stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:152 +#: src/tables/build/BuildLineTable.tsx:163 #: src/tables/sales/SalesOrderLineItemTable.tsx:121 #: src/tables/stock/StockItemTable.tsx:186 msgid "No stock available" msgstr "" -#: src/tables/build/BuildLineTable.tsx:201 +#: src/tables/build/BuildLineTable.tsx:212 msgid "Gets Inherited" msgstr "" -#: src/tables/build/BuildLineTable.tsx:210 +#: src/tables/build/BuildLineTable.tsx:221 msgid "Unit Quantity" msgstr "" -#: src/tables/build/BuildLineTable.tsx:267 +#: src/tables/build/BuildLineTable.tsx:283 #: src/tables/sales/SalesOrderLineItemTable.tsx:230 msgid "Create Build Order" msgstr "" -#: src/tables/build/BuildLineTable.tsx:298 -msgid "Allocate Stock" +#: src/tables/build/BuildLineTable.tsx:311 +msgid "Auto allocation in progress" msgstr "" -#: src/tables/build/BuildLineTable.tsx:305 +#: src/tables/build/BuildLineTable.tsx:314 +#: src/tables/build/BuildLineTable.tsx:445 +msgid "Auto Allocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:315 +msgid "Automatically allocate stock to this build according to the selected options" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:333 +#: src/tables/build/BuildLineTable.tsx:347 +#: src/tables/build/BuildLineTable.tsx:404 +#: src/tables/build/BuildLineTable.tsx:472 +msgid "Deallocate Stock" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:349 +msgid "Deallocate all untracked stock for this build order" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:351 +msgid "Deallocate stock from the selected line item" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:355 +msgid "Stock has been deallocated" +msgstr "" + +#: src/tables/build/BuildLineTable.tsx:414 msgid "Order Stock" msgstr "" -#: src/tables/build/BuildLineTable.tsx:312 +#: src/tables/build/BuildLineTable.tsx:421 msgid "Build Stock" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:111 +#: src/tables/build/BuildOrderTable.tsx:110 msgid "Show active orders" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:116 -msgid "Cascade" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:117 -msgid "Display recursive child orders" -msgstr "" - -#: src/tables/build/BuildOrderTable.tsx:123 +#: src/tables/build/BuildOrderTable.tsx:115 #: src/tables/part/PartPurchaseOrdersTable.tsx:126 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 @@ -5978,61 +6102,69 @@ msgstr "" msgid "Filter by order status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:130 +#: src/tables/build/BuildOrderTable.tsx:116 +#~ msgid "Cascade" +#~ msgstr "Cascade" + +#: src/tables/build/BuildOrderTable.tsx:117 +#~ msgid "Display recursive child orders" +#~ msgstr "Display recursive child orders" + +#: src/tables/build/BuildOrderTable.tsx:122 msgid "Show overdue status" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:141 +#: src/tables/build/BuildOrderTable.tsx:133 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:63 msgid "Filter by project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:146 +#: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Has Project Code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:147 +#: src/tables/build/BuildOrderTable.tsx:139 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:69 msgid "Filter by whether the purchase order has a project code" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:152 +#: src/tables/build/BuildOrderTable.tsx:144 msgid "Filter by user who issued this order" msgstr "" -#: src/tables/build/BuildOrderTable.tsx:158 +#: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:74 msgid "Filter by responsible owner" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:75 -#: src/tables/build/BuildOrderTestTable.tsx:111 -#: src/tables/stock/StockItemTestResultTable.tsx:257 -#: src/tables/stock/StockItemTestResultTable.tsx:329 -#: src/tables/stock/StockItemTestResultTable.tsx:384 +#: src/tables/build/BuildOrderTestTable.tsx:76 +#: src/tables/build/BuildOrderTestTable.tsx:112 +#: src/tables/stock/StockItemTestResultTable.tsx:258 +#: src/tables/stock/StockItemTestResultTable.tsx:330 +#: src/tables/stock/StockItemTestResultTable.tsx:385 msgid "Add Test Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:82 -#: src/tables/stock/StockItemTestResultTable.tsx:259 +#: src/tables/build/BuildOrderTestTable.tsx:83 +#: src/tables/stock/StockItemTestResultTable.tsx:260 msgid "Test result added" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:110 +#: src/tables/build/BuildOrderTestTable.tsx:111 #: src/tables/stock/StockItemTestResultTable.tsx:174 msgid "No Result" msgstr "" -#: src/tables/build/BuildOrderTestTable.tsx:220 +#: src/tables/build/BuildOrderTestTable.tsx:221 msgid "Show build outputs currently in production" msgstr "" @@ -6732,11 +6864,6 @@ msgstr "" msgid "No Results" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:106 -#: src/tables/stock/StockItemTestResultTable.tsx:365 -msgid "Required" -msgstr "" - #: src/tables/part/PartTestTemplateTable.tsx:107 msgid "Show required tests" msgstr "" @@ -7280,20 +7407,28 @@ msgstr "" msgid "Show shipments which have been delivered" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:28 -msgid "Rate" +#: src/tables/settings/CustomStateTable.tsx:36 +msgid "Display Name" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:40 -msgid "Exchange rates updated" +#: src/tables/settings/CustomStateTable.tsx:52 +msgid "Model" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:46 -msgid "Exchange rate update error" +#: src/tables/settings/CustomStateTable.tsx:65 +msgid "Add State" msgstr "" -#: src/tables/settings/CurrencyTable.tsx:57 -msgid "Refresh currency exchange rates" +#: src/tables/settings/CustomStateTable.tsx:77 +msgid "Edit State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:85 +msgid "Delete State" +msgstr "" + +#: src/tables/settings/CustomStateTable.tsx:115 +msgid "Add state" msgstr "" #: src/tables/settings/CustomUnitsTable.tsx:50 @@ -7838,58 +7973,58 @@ msgstr "" msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:268 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:269 +#: src/tables/stock/StockItemTestResultTable.tsx:340 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:270 +#: src/tables/stock/StockItemTestResultTable.tsx:271 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:276 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/tables/stock/StockItemTestResultTable.tsx:277 +#: src/tables/stock/StockItemTestResultTable.tsx:349 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:278 +#: src/tables/stock/StockItemTestResultTable.tsx:279 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:292 +#: src/tables/stock/StockItemTestResultTable.tsx:293 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:293 +#: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:300 +#: src/tables/stock/StockItemTestResultTable.tsx:301 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:317 +#: src/tables/stock/StockItemTestResultTable.tsx:318 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:366 +#: src/tables/stock/StockItemTestResultTable.tsx:367 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:370 +#: src/tables/stock/StockItemTestResultTable.tsx:371 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:371 +#: src/tables/stock/StockItemTestResultTable.tsx:372 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:375 +#: src/tables/stock/StockItemTestResultTable.tsx:376 #: src/tables/stock/TestStatisticsTable.tsx:74 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:376 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show only passed tests" msgstr ""